本质就是DP问题,这里实现的是滚动数组优化版

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