常见解法

    • 迭代/反向迭代
    • 递归
    • 双指针
      • 数组中双指针的应用无非也就两种:
      • 快慢指针:两个指针位于数组同一侧,根据不同的条件往前步进
      • 两个指针位于数组两端,往中间步进
    • 三指针、四指针
      • 固定好其中一个或多个指针,然后使用双指针解法移动两个指针;一轮之后移动一次固定的指针,然后在继续下一轮
    • 滑动窗口:在双指针移动过程中两个指针之间就形成了滑动窗口
      • 在题目中有两个索引之间的距离 不大于、不小于、等于 这些条件时会非常有用
    • 排序
    • 二分法——有序数组的情况下可以优先考虑该方法
    • 动态规划