64,073
社区成员
发帖
与我相关
我的任务
分享
今天的学习内容是:动态规划。
参考资料:夜深人静写算法(二)- 动态规划入门
应用动态数组的方式,由题目得公式 f(n) = f(n - 1) + f(n - 2),所以我们可以用三个变量动态储存结果,将空间复杂度降低到O(1)。
int climbStairs(int n) {
int p = 0,q = 0,r = 1;
for (int i = 1;i <= n;++i) {
p = q;
q = r;
r = p + q;
}
return r;
}