力扣509. 斐波那契数

动态规划

  • 思路:
    • 斐波那契数通式:F(n) = F(n - 1) + F(n - 2);
    • 以此为状态转移方程,对其进行动态规划;
    • 边界条件:
      • F(0) = 0
      • F(1) = 1
    • 使用两个变量来存储上一组结果;
class Solution {
public:
    int fib(int n) {
        if (n < 2) {
            return n;
        }

        int p = 0;
        int q = 0;
        int r = 1;
        for (int i = 2; i <= n; ++i) {
            p = q;
            q = r;
            r = p + q;
        }

        return r;
    }
};
  • 同理,1137. 第 N 个泰波那契数
  • 增加一个变量保存增加状态的结果

——————————————————————————————

力扣509. 斐波那契数_第1张图片

你可能感兴趣的:(力扣实践,leetcode,算法,职场和发展)