友情支持

如果您觉得这个笔记对您有所帮助,看在D瓜哥码这么多字的辛苦上,请友情支持一下,D瓜哥感激不尽,😜

支付宝

微信

有些打赏的朋友希望可以加个好友,欢迎关注D 瓜哥的微信公众号,这样就可以通过公众号的回复直接给我发信息。

wx jikerizhi

公众号的微信号是: jikerizhi因为众所周知的原因,有时图片加载不出来。 如果图片加载不出来可以直接通过搜索微信号来查找我的公众号。

2025年03月 刷题日志

序号 题目 题解 备注

1

206. 反转链表

题解

⭕️ 递归解法非常妙!传一个参数,nextnext 比较麻烦,传两个参数比较简单。

2

34. 在排序数组中查找元素的第一个和最后一个位置

题解

✅ 思考清楚确定边界时,中间指针的移动方向即可迎刃而解。

3

33. 搜索旋转排序数组

题解

⭕️ 重点去处理有序部分,在有序部分内查找不到,则去另外一部分去查找。

4

56. 合并区间

题解

✅ 对区间进行排序,然后快慢指针在当前数组上对其进行合并。

5

81. 搜索旋转排序数组 II

题解

✅ 关注有序区间,确定目标值在有序区间内,则在有序区间查找;反之,则在另外一部分内查找。另外,通过移动一个指针即可避开重复元素。

6

1. 两数之和

题解

✅ 注意审题!返回的是数组下标。

7

15. 三数之和

题解

✅ 双指针

8

141. 环形链表

题解

✅ 快慢指针

9

202. 快乐数

题解

✅ 快慢指针

10

76. 最小覆盖子串

题解

⭕️ 滑动窗口,一定注意细节的处理。

11

316. 去除重复字母

题解

❌ 完全想不到单调栈!

12

347. 前 K 个高频元素

题解

✅ Top K 问题,优先队列;桶排序

13

215. 数组中的第K个最大元素

题解

⭕️ 快速选择,想清楚边界情况!

14

41. 缺失的第一个正数

题解

⭕️ 循环排序,看了答案,自己写出来了。

15

295. 数据流的中位数

题解

⭕️ 双堆,思路理解,写代码却有很多问题。

16

23. 合并 K 个升序链表

题解

✅ 多路归并

17

102. 二叉树的层序遍历

题解

✅ 广度优先搜索

18

124. 二叉树中的最大路径和

题解

⭕️ 深度优先搜索,注意处理负数情况

19

3. 无重复字符的最长子串

题解

✅ 滑动窗口

20

146. LRU 缓存

题解

✅ 链表前后指针操作

21

206. 反转链表

题解

✅ 两种解法:递归+迭代

22

215. 数组中的第K个最大元素

题解

✅ 快速选择

23

25. K 个一组翻转链表

题解

✅ 分段递归反转,再拼接

24

208. 实现 Trie (前缀树)

题解

✅ 前缀树,竟然一次通过

25

547. 省份数量

题解

✅ 并查集,竟然一次通过

26

15. 三数之和

题解

✅ 利用递归“降维”

27

207. 课程表

题解

✅ 拓扑排序

28

53. 最大子数组和

题解

⭕️ 动态规划。稀里糊涂就对了,还要对推演。另有更精妙的分治解法,抽空再尝试。

29

21. 合并两个有序链表

题解

30

5. 最长回文子串

题解

✅ 有更高效的马拉车算法,抽空可以尝试一下。

31

33. 搜索旋转排序数组

题解

⭕️ 重点关注有序部分,优先在有序部分查找,不在有序部分再去无序部分查找。注意判定有序部分的方法: nums[0]nums[mid] 相比较,而不是 nums[left](它的值会来回变)。

32

200. 岛屿数量

题解

✅ 想尝试并查集,结果失败。还是沉岛大法好啊!

33

46. 全排列

题解

✅ 回溯

34

231. 2 的幂

题解

✅ 更巧妙的解法是位运算,如果 n2 的幂,则二进制只有第一位是 1,减一则二进制都是 1,相与 n & (n - 1) 则为 0

35

88. 合并两个有序数组

题解

num1 后面空着,则从后向前合并。

36

50. Pow(x, n)

题解

✅ 递归很简单,抽空再思考一下非递归形式。

37

148. 排序链表

题解

✅ 分治

38

474. 一和零

题解

❌ 动态规划,多维度“物品”就无从下手,还要多练。

截止目前,本轮练习一共完成 38 道题。