https://programmercarl.com/0027.%E7%A7%BB%E9%99%A4%E5%85%83%E7%B4%A0.html(代码随想录)
拿到一道题首先考虑这道题用什么数据结构
- 是数组?
- 字符串?
- 链表?
- hash表中的数组/set/map?
- 二叉树?
- 栈与队列?
然后思考这道题用哪种算法?
- 暴力破解?
- 一般来说哈希表都是用来快速判断一个元素是否出现集合里。
- 动态规划?
- 回溯算法?
- 双指针(快慢指针):处理数组,字符串常用,优先考虑
- 滑动窗口:双指针 变种,处理最小序列类似问题
- 回溯算法
- 贪心算法