https://www.nowcoder.com/practice/8c82a5b80378478f9484d87d1c5f12a4
递归
思路简单,但有可能会超时。
public static int jumpFloor1(int target) {
if (target == 1)
return 1;
if (target == 2)
return 2;
return jumpFloor1(target - 1) + jumpFloor1(target - 2);
}
动态规划
https://www.bilibili.com/video/BV1y64y1q7k8?share_source=copy_web
public static int jumpFloor2(int target) {
int[] dp = new int[50];
dp[0] = 1;
dp[1] = 1;
for (int i = 2; i <= target; i++) {
dp[i] = dp[i - 1] + dp[i - 2];
}
return dp[target];
}