LeetCode: 70. 爬楼梯

70. 爬楼梯

思路:这样想哈,首先一层1,二层2,三层3,这个三的得到方法就是上一层的方法然后多上两层,加上,上二层的方法在多上一层,哎然后有意思的来了这是一个数列啥名字我给忘了但是记得有这个数列,a[i]=a[i-1]+a[i-2]。。。。。这就可以直接强算了。。
class Solution {
public:
    int climbStairs(int n) {
       vector<int> dp;
       dp.push_back(1);
       dp.push_back(2);
       if(n==1) return 1;
       if(n==2) return 2;
       for(int i=2;i<n;i++)  dp.push_back(dp[i-1]+dp[i-2]);

       return dp[n-1];
    }
};
千万不要用递归。。。。

你可能感兴趣的:(力扣刷题)