--- 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 | 摆动序列 | | | | |