4.2 KiB
4.2 KiB
tag
| tag |
|---|
| algorithm |
数组
-
二分查找 进度:仅完成主题干。 注意:
- 二分查找时注意区间的边界,当取
[left, right]时,当left == right是有意义的,所以循环的条件为while(left < right);同理,当取[left, right)时,循环的条件为while(left <= right)。
- 二分查找时注意区间的边界,当取
-
移除元素 进度:仅完成主题干。 解题:双指针法
- 快慢指针法
- 相向指针法(√):减少元素移动次数
-
有序数组的平方 进度:完成主题干。 注意:
- 指针可以从中间向两侧扫描,最好从两侧向中间扫描。
-
长度最小的子数组 进度:仅完成主题干。 解题:滑动窗口。
-
螺旋矩阵II 进度:仅完成主题干。 解题:找规律。
链表
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
|---|---|---|---|---|---|
| 1 | 移除链表元素 | 完成 | 注意是否存在头节点 | ||
| 2 | 设计链表 | 完成 | |||
| 3 | 翻转链表 | 完成 | 1.双指针 2. 递归 3.头尾插法 |
重新写第一二种 | √ |
| 4 | 两两交换链表节点 | 完成 | 画图确定指针先后顺序 | √ | |
| 5 | 删除链表倒数第N个节点 | 完成 | 双指针 | ||
| 6 | 链表相交 | 完成 | 找到相等的长度后再开始判断 | √ | |
| 7 | 环形链表II | 完成 | 双指针+环内的数学等量关系 | 重新做题 | √ |
哈希表
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
|---|---|---|---|---|---|
| 1 | 有效的字母异位词 | 完成 | 哈希表 | 注意key、value的意义 | |
| 2 | 两个数组的交集 | 完成 | 集合 | ||
| 3 | 快乐数 | 完成 | 集合 | 注意条件:不为1必然出现循环 | |
| 4 | 两数之和 | 完成 | 哈希表 | ||
| 5 | 三数之和 | 双指针 | √ | ||
| 6 | 四数之和 | 双指针 | √ | ||
| 7 | 四数相加II | 哈希表 | 注意key、value含义 | √ | |
| 8 | 赎金信 |
栈和队列
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
|---|---|---|---|---|---|
| 1 | 栈实现队列 | 完成 | |||
| 2 | 队列实现栈 | 完成 | |||
| 3 | 有效的括号 | 完成 | |||
| 4 | 删除字符串中的所有相邻重复项 | 完成 | |||
| 5 | 逆波兰表达式 | 完成 | |||
| 6 | 滑动窗口最大值 | 未完成 | 有序队列 | √ | |
| 7 | 前k个高频元素 | 未完成 | 优先级队列 | √ |
贪心算法
从局部最优解推全局最优解。做题时最主要就是找反例证明贪心算法不奏效,否则大部分可以使用贪心算法。
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
|---|---|---|---|---|---|
| 1 | 分发饼干 | 完成 | 大胃口吃大饼干/小饼干喂小胃口 | √ | |
| 2 | 摆动序列 |