[Edp] lc70. 爬楼梯(dp+递推)

1. 题目来源

链接:70. 爬楼梯

2. 题目解析

典型 fib 数列问题。就是求 fib 数列第 n 项值是多少。执行 n-1 次,while(-- n) 很好用,有时候简单的模拟一下会很清晰。比如令 n=1--n 肯定不执行啊。最后返回 b,你让 n=1,n=2 就能发现,n 是第 n 啊。不过这样举例子有有啥意思呢?

  • 时间复杂度 O ( n ) O(n) O(n)
  • 空间复杂度 O ( n ) O(n) O(n)

代码:

class Solution {
    
    
public:
    int climbStairs(int n) {
    
    
        int a = 1, b = 1, c = 2;
        while ( -- n) {
    
    
            c = a + b;
            a = b, b = c;
        }
        return b;
    }
};

猜你喜欢

转载自blog.csdn.net/yl_puyu/article/details/111875075