- 博客(282)
- 收藏
- 关注
原创 【力扣hot100题】(133)LRU缓存
哈希表+双向链表,注意哈希表存放的对应关系是key和链表节点的,而链表节点存储value。注意一下链表需要设置头尾指针。看了很久才知道是什么意思……
2026-01-10 21:56:08
248
原创 【力扣hot100题】(132)合并K个排序链表
设置一个结果链表result,依次合并每一个LinkNode即可。我真心觉得这题才是中等,上题才是困难……
2026-01-08 15:58:28
103
原创 【力扣hot100题】(131)排序链表
问了deepseek后才知道不能在原链表直接排序,需要切分成小块(每一块末指针指向nullptr),然后排序时将第二块插入排序到第一块中。(第二天)在原数组排序,每次递归切分+将一段链表排序,被deepseek瑞平逻辑混乱,我自己也被绕进去了。尝试方法有:(第一天)设置n=2,每次以n为间隔将长度为n的小链表排序,随后n每次乘以2.做得宇宙无敌痛苦的一题,耗时2天+deepseek使用次数*1。
2026-01-07 18:07:07
186
原创 【力扣hot100题】(124)环形链表Ⅱ
看了答案才想起来,快慢指针重合后再设置头指针,每次移动慢指针和头指针,重合之后就是环头节点。只记得是快慢指针,完全忘记重合之后怎么做了……
2026-01-05 12:22:22
160
原创 【力扣hot100题】(122)回文链表
看了答案中空间复杂度O(1)的做法,其实难想到,就是用快慢指针找到中间点,之后将后半段反转。只会先化为数组的做法,看答案了解了一下递归做法,不过空间复杂度没区别,但是挺巧妙的。
2026-01-04 17:16:28
153
原创 【力扣hot100题】(121)反转链表
很简单,先设置头结点指向head作为头部标记(因为头结点会不断变化),设置循环遍历node,标记目前在反转的元素(node前元素均已反转,并且最后一个元素即node前一个为head)
2026-01-04 12:13:23
114
原创 【力扣hot100题】(120)相交链表
代码看着有点复杂,答案的方法就更为简单巧妙了:同样是两个指针分别遍历AB,A遍历到头的时候指向B的开头,B遍历到头的时候指向A的开头,这样双方就可以遍历相同的长度,最终到达交点。我想到的方法是先将两链表各遍历一遍计算长度,长度相减之后较长的链表先将头指针前移长度差个单元,之后一起前移,直到俩指针汇聚。
2026-01-04 12:02:30
204
原创 【力扣hot100题】(119)搜索二维矩阵 II
我的想法是观察最左下和最右上的元素:若左下元素大于target,则可以去掉左下元素所在的行(最后一行),否则去掉左下元素在的列(第一列);若右上元素大于target,则可以去掉右上元素所在的列(最后一列),否则可以去掉右上元素所在的行(第一行)。如此反复知道只剩一个元素。
2026-01-03 22:15:11
260
原创 【力扣hot100题】(116)矩阵置零
比较简单,但我只想出空间复杂度O(m+n)的方法。答案空间复杂度为O(1)的方法是将第一行第一列设为标记数组,标记哪些行列需要置零,还是很巧妙的。
2026-01-02 16:19:10
268
原创 【力扣hot100题】(115)缺失的第一个正数
若当前数(的绝对值)在[1,n]范围内,就将数对应于数组的位置变为负数(相当于记录该数存在,并不动这个位置原本的数),为了避免和原本的负数混淆,一开始就将非正数记为超过n的数。答案的两种方法都很巧妙。空间复杂度是O(100001),何尝不算是一种O(1)(?想法是用一个数组记录所有数字是否出现,最后遍历这个数组。
2026-01-02 10:37:16
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅