尽量多解法

  • 使用尽量多的算法解同一个题目,即使其中一个明显优于其他算法,这样做可以加深理解每种算法的优缺点。每一种算法都有其使用场景,因此切勿顾此失彼。

    递归与迭代

    • 能递归的就再考虑迭代,反之亦然。
    • 一般情况,递归比迭代,多了递归栈空间,但是递归代码一般非常简洁明了。

      动态规划

  • 最问题优先考虑动态规划

    • 最大、最小、最优、最长、最短。

动态规划是一种解决问题的思想,将一个复杂问题转化成一个更简单问题迭代/递归多次来解决,且上一次的迭代递归可以被下一次利用,减少计算过程。

  • 动态规划的设计过程: