首页 > 学院 > 开发设计 > 正文

leetcode70Climbing Stairs

2019-11-14 12:51:45
字体:
来源:转载
供稿:网友

参考爬梯子问题 这道题是斐波那契数列数列相关: dp[0] = 1,dp[1]=1,dp[2]=2 dp[n] = dp[n-1]+dp[n-2];

我们可以对空间进行进一步优化,我们只用两个整型变量a和b来存储过程值,首先将a+b的值赋给b,然后a赋值为原来的b,所以应该赋值为b-a即可。这样就模拟了上面累加的过程,而不用存储所有的值,参见代码如下

class Solution {public: int climbStairs(int n) { int a = 1, b = 1; while (n--) { b += a; a = b - a; } return a; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表