本质就是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];
}
};