动态规划,在空间上并不需要保存全部的n个元素,只需要保存第i-1和第i-2个元素即可,每次累加原地更新。

class Solution {
public:
    int jumpFloor(int number) {
        if(number==1) return 1;
        vector<int> dp(2,0);
        dp[0]=1;
        dp[1]=2;
        for(int i=2;i<number;++i){
            int temp=dp[0]+dp[1];
            dp[0]=dp[1];
            dp[1]=temp;
        }
        return dp[1];
    }
};