Files
Obsidian/Books/代码随想录/代码随想录.md
2023-02-19 19:25:58 +08:00

46 lines
2.2 KiB
Markdown

---
tag: algorithm
---
# 数组
1. [二分查找](https://leetcode.cn/problems/binary-search/)
进度:仅完成主题干。
注意:
- 二分查找时注意区间的边界,当取 `[left, right]` 时,当 `left == right` 是有意义的,所以循环的条件为 `while(left < right)`;同理,当取 `[left, right)` 时,循环的条件为 `while(left <= right)`
2. [移除元素](https://leetcode.cn/problems/remove-element/)
进度:仅完成主题干。
解题:双指针法
- 快慢指针法
- 相向指针法(√):减少元素移动次数
3. [有序数组的平方](https://leetcode.cn/problems/minimum-size-subarray-sum/)
进度:完成主题干。
注意:
- 指针可以从中间向两侧扫描,最好从两侧向中间扫描。
4. 长度最小的子数组
进度:仅完成主题干。
解题:滑动窗口。
5. [螺旋矩阵II](https://leetcode.cn/problems/spiral-matrix-ii/)
进度:仅完成主题干。
解题:找规律。
# 栈和队列
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
| ---- | ---------------------------- | ------ | ---------- | ---- | ---- |
| 1 | 栈实现队列 | 完成 | | | |
| 2 | 队列实现栈 | 完成 | | | |
| 3 | 有效的括号 | 完成 | | | |
| 4 | 删除字符串中的所有相邻重复项 | 完成 | | | |
| 5 | 逆波兰表达式 | 完成 | | | |
| 6 | 滑动窗口最大值 | 未完成 | 有序队列 | | √ |
| 7 | 前k个高频元素 | 未完成 | 优先级队列 | | √ |
# 贪心算法
从局部最优解推全局最优解。做题时最主要就是找反例证明贪心算法不奏效,否则大部分可以使用贪心算法。
| 序号 | 章节 | 进度 | 解题 | 注意 | 回顾 |
| ---- | -------- | ---- | ---- | ----------------------------- | ---- |
| 1 | 分发饼干 | 完成 | | 大胃口吃大饼干/小饼干喂小胃口 | √ |
| 2 | 摆动序列 | | | | |