题解 | 跳台阶扩展问题
跳台阶扩展问题
https://www.nowcoder.com/practice/22243d016f6b47f2a6928b4313c85387
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param number int整型
* @return int整型
*/
int jumpFloorII(int number) {
// write code here
vector<int> dp(number + 1,0);
dp[0] = 0;
dp[1] = 1;
dp[2] = 2;
vector<int> presum(number + 1, 0);
presum[0] = 0;
presum[1] = 1;
for(int i = 3; i < number + 1; i ++){
presum[i - 1] = presum[i - 2 ] + dp[i - 1];
dp[i] = presum[i - 1] + 1;
}
return dp[number];
}
};
