- 博客(7)
- 收藏
- 关注
原创 打卡第七八天
第二天的KMP,首先看了一下28,试了一下感觉需要一些时间再理解,但这两天身体抱恙,主要是我之前用的是“部分匹配表”这个概念,这里用的不太一样,还是要多看一下才行。寒招回来哩,一回来发现这个贵KMP算法好难,昨天的东西也好多,学了一整天感觉头脑晕乎乎。这里首先比较有感触的是第七天的151。
2025-01-21 21:32:40
229
原创 打卡第六天
首先求出A和B任意两数之和sumAB,以sumAB为key,sumAB出现的次数为value,存入hashmap中。HashMap存两个数组之和,如AB。然后计算两个数组之和,如CD。时间复杂度为:O(n^2)+O(n^2),得到O(n^2).时间复杂度为:O(n)+O(n^3),得到O(n^3).时间复杂度为:O(n^3)+O(n),得到O(n^3).然后计算C和D中任意两数之和的相反数sumCD,在hashmap中查找是否存在key为sumCD。
2025-01-19 23:23:55
192
原创 打卡第五天
Java对于自定义类的对象的比较,可以实现Comparable接口,重写compareTo方法,或者sort的时候指定Comparator。在排序的时候把比较的元素和比较结果打印出来,再使用有向图找环就找到原因了!其中,如果排序是因为传递性出错的话,肯定是因为数组里的元素比较大小的时候成环了!也就是说数组里有若干个元素,对称性:x=y,则x,z比较结果和y,z比较结果相同。自反性:x,y的比较结果和y,x的比较结果相反。传递性:x>y,y>z,则x>z。
2025-01-18 22:48:46
222
原创 打卡第四天
题目做了前两道,发现前面好像有个快慢指针的算法搞复杂了,第三道做不出来,感觉不太对,就继续恶补知识先。补数据结构的课,还是比较痛苦,终于知道为什么数据结构才这点分了,太难学了。
2025-01-17 23:01:05
95
原创 打卡第三天
删除头节点时另做考虑:代码清晰,但需要额外处理头节点的逻辑。添加虚拟头节点:统一逻辑,无需额外处理头节点,是常用写法。递归:代码简洁,但可能会因为递归深度导致栈溢出,尤其在节点数较多时。707.设计链表。
2025-01-16 21:32:15
347
原创 打卡第二天
排序算法:数组排序是基础操作,常用的排序算法包括冒泡排序、快速排序、归并排序等。在实际应用中,Java 提供了方法,可以方便地对数组进行排序。例如,使用对数组进行从小到大的排序。二分查找:适用于有序数组,通过每次将查找范围缩小一半,快速定位目标值。时间复杂度为 O(log n)。需要注意边界条件的处理,确保算法的正确性。例如,在 Java 中,可以使用方法进行二分查找。双指针法:通过两个指针在数组上进行遍历,解决一类问题。相向双指针。
2025-01-15 19:53:25
1597
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人