自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 Failed to calculate the value of task ‘:app:compileDebugJavaWithJavac‘ property ‘options.generatedSo

原因:Gradle版本太高,老项目的 Android gradle plugin 是3.6.3,Android Studio打开项目默认是用的Gradle7.4。,下载之后放到C:\Users\xxx\.gradle\wrapper\dists\gradle-6.1-bin\xxx\ 目录下,xxx每个人不一样。刚下好就还没安装,最后终于找到问题。1.以为是项目比较老,而配的Jdk17导致的错误,查看项目用的是jdk1.8,遂安装,无果。背景:接收一个老Android项目,打开发现编译错误。

2024-01-30 17:21:44 1251 2

原创 背包与魔法 2022年国赛 背包问题

首先不考虑使用魔法的情况,就是单纯地背包问题。唯一不同的就是使用魔法可以让你所拿的物品中的一个物品的价值翻倍。所以你需要记录每一步中拿到的单个商品的最大值,用于后面确定加倍的是最大价值。

2023-06-08 20:24:23 158

原创 迷宫 2022年国赛 BFS+记忆化搜索

所以这里可以想到记忆化搜索,即一个dp[i] = min(dp[i+1],dp[i-1],dp[i+N],dp[i-N],dp[i])。min函数中的dp[i]代表通过传送门计算的距离,也就是一个点的最短路径由他上下左右和传送门后的点的最小值确定。平常的记忆化搜索都是min(dp[i+1],dp[i+N]),也就是他左移和下移一格位置的最小值。但是因为本题传送门的问题,导致可能上面的点可以更快的到达终点。对于遍历,我们利用BFS的思想,以广度优先搜索第一遍历的肯定要比后来遍历到该点路径要短。

2023-06-08 17:17:11 185

原创 左移右移 2022年国赛 思维

简单的思维题,应该从后往前遍历操作。如果后面的对数i操作过,则前面对数i的操作都可以无视。可以通过栈这种数据结构实现后往前遍历。

2023-06-08 09:05:46 167

原创 数数 2022年国赛 数论-动态规划

有一些动态规划的意思,首先得出i的素数相乘的个数为dp[i],在让i*j的相乘素数个数为dp[i*j]=dp[i]+1;j从素数列表中取出,且i%j==0时就不需要再遍历后续的素数了。因为后面i*j的结果会再次遍历的时候出现。例如:i=5x7,j=9是后续会被遇到的应该在 i=5x7,j=5时就停止。因为后面会遍历到i=7x9,j=5。所以保证要j不超过i中任意一个素数,这样就会优化将近一半的时间。

2023-06-07 21:09:05 95

原创 123 2021年国赛 二分搜索+前缀和

主要是考察前缀和,我们将数组划分为若干个小区间,第i个区间是1,2,3....,i。最终的索引下标=前一个区间的索引+数num所在区间的距离第一个元素的偏移量。小蓝发现,这个数列前 1 项是整数 1,接下来 2 项是整数 1 至 2,接下来 3 项是整数 1 至 3,接下来 4 项是整数 1 至 4,依次类推。接下来 T 行,每行包含一组询问,其中第 i 行包含两个整数 l和 r,表示询问数列中第 l个数到第 r 个数的和。输入的第一行包含一个整数 T,表示询问的个数。的long数组大约为256mb。

2023-06-07 19:24:43 708

原创 路径之谜 2016年国赛 深度优先搜索

有时是可以的,比如上图中的例子。为了方便表示,我们约定每个小格子用一个数字代表,从西北角开始编号: 0,1,2,3 \cdots⋯。本题的要求就是已知箭靶数字,求骑士的行走路径(测试数据保证路径唯一)第一行一个整数 N (0≤N≤20),表示地面有 N×N 个方格。第二行 N 个整数,空格分开,表示北边的箭靶上的数字(自西向东)第三行 N 个整数,空格分开,表示西边的箭靶上的数字(自北向南)小明冒充 XX 星球的骑士,进入了一个奇怪的城堡。假设城堡地面是 n×n 个方格。输出一行若干个整数,表示骑士路径。

2023-06-07 16:15:42 685

原创 刷题整理(持续更新~)

哈希表并查集递归前缀和广度优先搜索记忆化搜索哈希表日期问题二分查找滑动窗口数论最短路径。

2023-06-07 16:10:01 642

原创 LeetCode 可获得的最大点数 前缀和 滑动窗口

几张卡牌,每张卡牌都有一个对应的点数。点数由整数数组cardPoints给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿k张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组cardPoints和整数k,请你返回可以获得的最大点数。

2023-04-06 22:19:41 231 1

原创 Leetcode 拼车 差分数组

给定整数 capacity 和一个数组 trips , trip[i] = [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客,接他们和放他们的位置分别是 fromi 和 toi。对于区间[i,j]都加m,差分数组只需要cf[i]+=m;当且仅当你可以在所有给定的行程中接送所有乘客时,返回 true,否则请返回 false。对于此题来说,只需要通过差分数组记录乘客数量,然后判断每一站乘客是否超过车辆的容量。

2023-04-06 17:18:22 263

原创 LeetCode 长度最小的子数组 前缀和 滑动窗口

找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, ..., numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0。这题很容易想到前缀和,但是找出最小长度的子数组需要用到二分来优化,不然会超时。给定一个含有 n 个正整数的数组和一个正整数 target。

2023-04-06 16:07:28 342

原创 HTML5移动端开发页面无法上下滑动问题

最近开发一个移动端外卖应用,在写商品列表时发现对于的商品列表不显示,而且往下划不动。从网上收集资料后,以为是设置viewport导致的,最终发现设置无果,看到一篇文章解我心中疑惑。问题所在:设置了overflow:hidden。

2023-02-28 19:39:06 1728

原创 BeanUtils.copyProperties的使用

在写项目时经常会用到的一个方法,主要作用就是深拷贝。拷贝后两个对象不会有任何联系,拷贝的依据是A对象的属性和B对对象的属性的属性名和属性类型全部相同;将a的属性拷贝给b,只有name会被拷贝,List类型的即使相同也不会被拷贝。如果想要深拷贝List类型的属性,我常用的是。

2023-01-05 17:39:08 526

原创 Error creating bean with name ‘xxx‘: Unsatisfied dependency expressed through field ‘xxx‘: Error cre

原因:spring boot 3.0.0版本不兼容mybatis-plus,总而言之就是版本问题。解决方法:将版本改为2.5.0即可。

2022-12-19 11:31:11 330

原创 使用反射优化代码,省去大量if else语句

当一个类中有多个方法时,需要通过指定的参数,去对应调用相应的方法。一般会使用if else语句或者switch语句,十分冗余,后期类的方法增加时,还需改动代码。很实用的方法,但是可能降低效率.....

2022-12-10 22:37:05 174

原创 为什么equals()方法字符串放在对象前面?

答:这样可以有效避免出现空指针异常的情况,例如str为null时,str.equals("xxx");很明显会报错....。很实用的编程小技巧....为什么总是看到"xxx".equals(str);

2022-12-10 22:09:56 337

原创 JSP编写的连接数据库的数据显示页面不实时更新

问题原因:因为mybatis写的连接数据库的sqlsession是复用的,通过一个mybatisUtil去获取一共静态sqlSession对象,也就是都复用这个会话去查询。所以就代表下一次请求页面的时候获取的会话还是上一次的SQLSession,也就是上一次的会话查询到的什么,这一次就是什么。数据是通过Mybatis连接数据库,但是当数据库更新数据时,页面的数据并没有变。SqlSession级别的缓存,同一个SqlSession的发起多次同构查询,会将数据保存在一级缓存中。

2022-11-21 13:22:04 597

原创 Servlet+Mybatis 遇到MySQL链接超时断开问题

org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: The last packet successfully received from the server was 63,151,882 milliseconds ago. The last packet sent succes

2022-11-13 14:59:04 357

原创 Linux常用命令----持续更新

个人整理常用Linux操作操作命令

2022-11-04 20:50:03 124

原创 使用Maven打包好的项目部署到远程Linux服务器Tomcat

下载图中的版本。首先我使用的是tomcat10,最低支持jdk1.8。安装了jdk19,是当时的最新版实测tomcat开启失败,新版jdk也不自带jre,所以建议安装jdk1.8。下面的图是jdk19,然后最后同样的方法又来了一遍jdk1.8成功。

2022-11-04 11:29:11 944

原创 okHttp网络请求结果Response返回主线程中

首先我们知道Android3.0 之后已经不允许在主线程中访问网络了,我们在访问网络时必须要新建一个线程去执行,但是这样的话请求返回的响应在另一个线程中,我尝试过使用全局静态变量等等其他,最后还是使用Handler解决的问题。这是我写的一个工具类,url是指定的一个地址,我用的全局变量。注明:Android开发小白,可能这不是特别好的方法,但是亲测有效。首先在主线程内写一个Handler。...

2022-08-05 21:59:58 2450

原创 Android开发学习日记--读取通讯录联系人和获取最新短信验证码

内容观察器的用法与内容提供器类似,也要从ContentObserver派生一个新的观察器,然后通过ContentResolver对象调用相应的方法注册或注销观察器。然而有时不但要获取以往的数据,还要实时获取新增的数据,最常见的业务场景是短信验证码。记录了用户的通讯录所有数据,包括手机号,显示名称等,但是里面的mimetype_id表示不同的数据类型,这与表mimetypes。,事先给目标内容注册一个观察器,目标内容的数据一旦发生变化,就马上触发观察器的监听事件,从而执行开发者预先定义的代码。...

2022-07-24 12:01:44 1304

原创 Android开发学习日记--运行时动态申请应用权限

方法,即可命令系统自动弹出权限申请窗口,该方法的第一个参数为活动实例,第二个参数为待申请的权限名称数组,第三个参数为本次操作的请求代码。第三步,判断用户的权限选择结果。如果是Android6.0以上才用动态申请权限,也就是下面要讲的。方法,该方法的第一个参数为活动实例,第二个参数为待检查的权限名称。,如果当前页面请求弹出权限申请窗口,那么该页面的Java。这种情况大多出现在刚安装完软件,进入软件的时候。方法,并在该方法内部处理用户的权限选择结果。先写个工具类PermissionUtil。...

2022-07-23 14:48:40 2667

原创 Android开发学习日记--内容提供者(跨应用间的数据库修改)

其实内容提供者就是一个给外部应用提供的窗口,通过编写这个代码,可以限制外部应用合法的访问。

2022-07-22 12:47:06 796

原创 Android开发学习日记--外部存储空间操作

在外部存储空间上,进行文本和图片的操作

2022-07-15 14:17:01 1395 1

原创 Android开发学习日记--登陆页面加强版

主要是锻炼空间的使用和SQLite数据库的基本操作,增删改查。

2022-07-14 14:39:02 189

原创 Android开发学习日记--登录界面

实现登陆页面的基本功能,功能简单又实用,适合小白练手。

2022-07-13 12:49:18 1053

原创 Android开发学习日记--对话框

Android常用的三种对话框

2022-07-10 13:24:40 511 1

原创 Android开发学习日记--焦点变更监听器和文本变化监听器

一、效果展示 xml代码:java代码:2.设置文本变化监听器 输入法的软键盘往往会遮住页面下半部分,使得“登录”“确认”“下一步”等按钮看不到了,用户若想点击这 些按钮还得再点一次返回键才能关闭软键盘。为了方便用户操作,最好在满足特定条件时自动关闭软键 盘,比如手机号码输入满11位后自动关闭软键盘,又如密码输入满6位后自动关闭软键盘,等等。达到指定位数便自动关闭键盘的功能,可以再分解为两个独立的功能点,一个是如何关闭软键盘,另一个是 如何判断已输入的文字达到指定位数。 首先写

2022-07-09 16:19:15 2143

原创 Android开发学习日记---编辑框EditText边框样式设计

本文章只是简单的演示如何设置边框属性,拿简单的圆角矩形为例。此文章只适用于学习Android开发的小白,我这也是学习之余记笔记而已.....不喜勿喷

2022-07-09 13:46:12 2605

原创 Android开发学习日记--利用元数据传递配置文件

通过元数据传递配置信息

2022-06-30 14:29:22 352

原创 Android开发学习日记--利用元数据给应用设置快捷方式(支付宝为例)

通过元数据实现为应用注册快捷菜单

2022-06-30 13:57:50 502

原创 洛谷 P3397 地毯 Java实现 二维差分

题目描述在 n×n 的格子上有 m 个地毯。给出这些地毯的信息,问每个点被多少个地毯覆盖。输入格式第一行,两个正整数 n,m。意义如题所述。接下来 mm 行,每行两个坐标 (x1,y1)和 (x2,y2),代表一块地毯,左上角是 (x1,y1),右下角是 (x2,y2)。输出格式输出 nn 行,每行 nn 个正整数。第 i 行第 j 列的正整数表示 (i,j) 这个格子被多少个地毯覆盖。思路:二维差分+二维前缀和(矩阵前缀和)AC代码:import java.io.BufferedR

2022-06-29 10:36:32 419

原创 Android开发学习日记--页面间传递数据

实现携带数据跳转到下一界面以及返回数据到上一界面

2022-06-29 10:35:10 984 2

原创 Android开发学习日记--打开拨号页面、打开发短信页面、浏览器打开网站

实现打开拨号页面、发短信页面、浏览器访问网站

2022-06-25 22:00:32 640

原创 Android开发学习日记--两个页面跳转的启动模式应用

1.首先我们要知道,我们利用什么样的启动模式。如果是标准的启动模式,会出现下面的情况:在多次跳转页面之后,实际上是不断的打开页面一和页面二。栈内情况如下: 十分的浪费资源,而且返回的时候会一直返回很多次才能到桌面,这不符合我们开发的逻辑。2.两种方式实现我们想要的结果第一种是,修改配置文件中的activity的launchMode属性,改为栈顶复用模式 singleTop第二种是,利用代码的方式,灵活的设置两个activity的启动模式。布局代码:Java代码:...

2022-06-25 16:48:33 472

原创 Android开发学习日记--Button按钮的禁用和恢复

Button按钮的禁用和恢复

2022-06-24 13:13:27 2682 2

原创 Linux-Ubuntu lxml库导入失败 解决方法

因为我这个python程序是在windows运行好好的,放到服务器上说少包。然后呢还是不行,我又看到要用pip,然后安装pip,。安装好了之后,。依旧是不行,然后我注意到是不是操作系统和python的事。有一篇文章是说操作系统是linux64位,python软件是32位的,所以需要32位的lxml包,然后去官网下载。这个去网上自己排除就可以,其实大部分应该不是这个问题。还有就是下载lxml的时候版本还是有讲究的,下载地址需要看你的pip的版本是多少,...

2022-06-23 14:25:24 440

原创 Android开发学习日记--简单页面跳转、延时页面跳转

几行代码实现简单的页面跳转

2022-06-22 11:29:59 1097

原创 最大子段和 三种方法线性dp、前缀和、贪心

给出一个长度为 n 的序列 a,选出其中连续且非空的一段使得这段和最大。输入格式第一行是一个整数,表示序列的长度 n。第二行有 n个整数,第 i 个整数表示序列的第 i个数字 a_i输出格式输出一行一个整数表示答案。很经典的题,我这里只写状态转移方程,提供思路防止以后忘记。 dp[i]为第i个位置的最大字段和。思路其实就是开始遍历每个元素,在取第i个元素的情况下,要不要加上之前最大的字段和。也就是加上前面的字段和会不会让当前的数更小,也就是前面的最大字段和是不是负数。如果前面的字段和是负数,那么等于的

2022-06-10 09:46:35 640

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除