刷题学习
持续更新中…
经典题型分类
链表、数组
- 经常使用:前后双指针、头尾双指针。
- 二维数组,经常需要从右上角开始,而不是左上角。
递归、回溯
自上而下分析、求解
迭代、动态规划
自上而下分析、自下而上求解
通常存储有用的中间结果
二分法
没有一成不变的模版,需灵活应对。
需设计的内容:
计算式:
- int mid = left + ((right - left) >> 1);
区间处理:
- 下一区间包含mid,(边界值可能是最终结果)
- 下一区间不包含mid,(边界值不可能是最终结果)
while条件:
- while (left < right)
- while (left <= right)
- 其他特殊判断条件
返回结果:
- return left
- return right
避免陷入死循环
知乎老哥总结的一篇博客,参考链接,可以参考,但没必要背诵。
其他
评论