- 博客(8)
- 收藏
- 关注
原创 【leetcode刷题记录】
方法适用场景优势劣势哈希表两数之和、快速查找补数(如四数相加II等多个独立数组相关题目)时间复杂度 O(n),查找效率高需额外空间存储哈希表,可能受元素范围限制双指针法有序数组的多数之和问题(三数之和、四数之和)空间复杂度 O(1),避免哈希表内存开销需预先排序,时间复杂度通常为 O(n²~n³)
2025-02-16 19:32:48
1668
原创 【leetcode刷题记录】
哈希表主要快速判断一个元素是否出现在一个集合中,是空间换时间的典型方法。数组就可以作为一种常见的哈希表,但需要注意的是使用数组来做哈希的题目,是因为题目都限制了数值的大小。而且如果哈希值比较少、特别分散、跨度非常大,使用数组就造成空间的极大浪费。
2025-02-13 01:49:57
960
原创 【leetcode刷题记录】
总结一下链表相关题目的技巧:1.通常会自己设置一个虚拟头节点来避免分类讨论操作节点是否为头节点2.在交换节点顺序等类似题目中会将链表拆分成一个个小部分逐步完成操作3.通常会使用多个指针来指向因调整链表顺序时“丢失”的节点4.快慢指针是判断链表中是否有环/是否有共同后缀的常用方法5.单链表中删除某个元素时,通过指向其前一个元素来删除以降低时间复杂度。
2025-02-10 21:51:27
1799
原创 【leetcode刷题记录】
前缀和主要作用是多次查询时需降低时间复杂度,避免每次遍历区间。使用的过程中要注意区间下标的选择,即区间 [m, n] 的和 = prefix[n+1] - prefix[m](左闭右开),原因是所给起始下标也在求和元素当中。
2025-02-06 19:53:10
545
原创 【leetcode刷题记录】
本次题目模拟顺时针输出的过程并不困难,主要是在指针这方面有很多疑问,针对学习了如何区分指针数组与数组指针,以及二重指针的用法。
2025-02-06 03:43:45
1796
1
原创 【leetcode刷题记录】
滑动窗口的使用需要满足一种“单调性”,如数组越大越满足条件。基础格式为右指针逐渐右移,在满足所给题目的情况下,收缩数组,即左指针右移。要注意在满足条件的情况下更新返回值(更新语句放在while函数体内还是外)。
2025-02-02 22:09:58
645
原创 【leetcode刷题记录】
今天刷题反映出的问题是之前学过的内容不能融会贯通,很自然的想到对应的解决办法,只要题目稍微一改变就无从下手,只会生硬的套模板,可能是之前刷题量不够以及未能及时反思总结,今后还需努力,希望之后能逐渐做到自然而然的想到对应的办法,有大致的解决框架。
2025-02-02 03:00:08
432
1
原创 【王路飞的救赎】
相比于之前对二分查找的模糊印象,现在可以不加思考的写出基本的二分查找模板,不需再花费事件判断边界与返回值,也算小有收获,今后再接再厉。
2025-02-01 03:29:25
493
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人