思考步骤

  1. 考虑暴力破解,常规思维,看能不能先做出来
  2. 考虑某种数据结构进行优化。
  3. 在草稿之上列出典型特例,找规律,或者从后往前,反向思考(动态规划:反向思考,正向实现)

最终目标:得到最优解

算法常见思考规律

  1. 涉及首尾用队列
  2. 观察目标 数据结构特征
  3. 首尾特殊位置单独考虑

    优化写法

  4. 为某个特定的功能设置子函数

算法性能提高的方向

  1. 利用hash Map的特性,可以减小时间复杂度。
  2. 二分法等时间复杂度小的算法是个不错的优化方向