public class Solution {
private int res=0;
public int jumpFloorII(int target) {
if(target==0 || target == 1){
return 1;
}
int[] dp = new int[target+1];
dp[0]=dp[1]=1;
for (int i = 2; i <= target; i++) {
for (int j = 0; j < i; j++) {
dp[i] = dp[i]+dp[j];
}
}
return dp[target];
}
}最简单的动态规划解法。其实就是创建一个数组,然后将答案存到数组里,最后从0到target的位置相加存在dp[target]中,返回即可。



京公网安备 11010502036488号