- 博客(39)
- 收藏
- 关注
原创 704. 二分查找
二分查找是一种查找算法,它的基本思想是:通过比较元素的大小来缩小查找范围,直到找到目标元素或查找范围为空。场景样例:假设要在电话簿中找一个名字以 K 打头的人,(现在谁还用电话簿!)可以从头开始翻页,直到进入以 K 打头的部分。但你很可能不这样做,而是从中间开始,因为你知道以 K 打头的名字在电话簿中间。所以你会直接从中间开始找。两个人玩游戏,A想一个1-100的数字(比如是60),B来猜。如果B从1开始猜,一直猜到99才能猜到,那么时间复杂度是O(n)
2024-05-10 15:07:42 370
原创 707.链表的原理和实现
数组的底层原理是顺序存储,是一块连续的内存空间,有了这块内存空间的首地址,就能直接通过索引计算出任意位置的元素地址。链表不一样,一条链表并不需要一整块连续的内存空间存储元素。链表的元素可以分散在内存空间的天涯海角,通过每个节点上的nextprev指针,将零散的内存块串联起来形成一个链式结构。这样做的好处很明显,首先就是可以提高内存的利用效率,链表的节点不需要挨在一起,给点内存 new 出来一个节点就能用,操作系统会觉得这娃好养活。可以抽象为一条弯曲的链子,通过一个个环连接在一起。
2024-05-08 18:57:58 382
原创 169. 多数元素
哈希表,摩尔投票,排序给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:nums = [3,2,3]输出:3示例 2:输入:nums = [2,2,1,1,1,2,2]输出:2提示:n == nums.length1 <= n <= 5 * 104-109 <= nums[i] <= 109进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1)
2024-04-26 18:39:22 648
原创 如何实现adb同时安装多个apk到多个设备
multi_install.bat:执行脚本(运行的时候直接双击运行就ok)需要测试多台设备的兼容性,一个一个安装效率比较低,所以需要批量进行安装。apks.txt:储存apk信息的文件(是第一次执行脚本后自动生成的)devices.txt:存储设备信息(是第一次执行脚本后自动生成的)把脚本和apk都放在同一个目录下,目录最好不要有中文。adb_install.bat:执行安装的脚本。apks:多个apk放在同一目录下就可以。通过bat脚本的形式实现。
2024-04-12 15:30:53 1494 1
原创 Java异常:java.lang.IllegalArgumentException: Illegal group reference: group index is missing
一、问题现象1.使用replaceFirst方法或者replaceAll方法替换时,吐过替换成为的字符串中含有"$",则会抛出标题中的异常。2.使用replace方法替换时,会替换成功。 String fieldName = "?progressUrl"; String replacement = "$"; System.out.println(fieldName.replace("?", replacement)); System.out.println(fieldName.r
2022-03-04 19:30:46 3873
原创 Json重复引用或循环引用产生的序列化问题“$ref“
一、问题现象如果前端展示数据需要依赖于此处的数据,则会造成前端的展示问题二、问题原因1.重复引用:因为引用同一对象而导致的重复引用,具体例子见如下:Map map = new HashMap<>();map.put(7,7);List<Map> list3 = new ArrayList();list3.add(map);list3.add(map);String str = JSON.toJSONString(list3); System.out
2022-03-03 20:38:34 4729 2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人