1.思路:
动态规划,需要注意的是,每次可以从第0层直接跨过n层到达,因此这里可以设定arr[0] = 1,再进行状态转移方程(叠加过程)。
2.代码:
class Solution {
public:
int arr[1000] = {0};
int jumpFloorII(int number) {
if(number == 0) return 0;
arr[0] = 1;
arr[1] = 1;
arr[2] = 2;
for(int i = 3; i <= number; ++i) {
int j = 0;
int tmp = 0;
while(j < i) {
tmp += arr[j];
j += 1;
}
arr[i] = tmp;
}
return arr[number];
}
};