思路
动态规划入门的经典问题。。。
方法
因为f(n)只和之前两个数有关系,因此可以维护两个变量不断迭代来代替传统动态规划的数组(个人做动态规划喜欢创建n+1的dp数组,有些题好像会是n,无论是什么题都是n+1统一自己的习惯)
class Solution {
public:
int fib(int n) {
if (n < 2) return n;
int a = 0;
int b = 1;
for (int i = 2; i <= n; i++) {
int temp = b;
b = a + b;
a = temp;
}
return b;
}
};