二刷
因为只与前两个有关 所以 不需要一个dp 只需要两个变量
public class Solution {
public int jumpFloor(int target) {
int[] dp = new int[target+1];
for(int i=0;i<=target;i++){
if(i<=2) dp[i] = i;
else dp[i] = dp[i-1] +dp[i-2];
}
return dp[target];
}
}动态规划
public class Solution {
public int jumpFloor(int target) {
if(target <=2){
return target;
}
int pre2 = 1;
int pre1 = 2;
for(int i=3; i<=target; i++){
int cur = pre2 + pre1;
pre2 = pre1;
pre1 = cur;
}
return pre1;
}
}


京公网安备 11010502036488号