一、题目内容
二、题解
解法1:
思路
动态规划
f(0)=1
f(1)=1
f(2)=2
dp[i] = dp[i-1]+dp[i-2]
代码
public class Solution {public int jumpFloor(int target) {if (target == 0 || target == 1) {return 1;}if (target == 2) {return 2;}return jumpFloor(target - 1) + jumpFloor(target-2);}}
解法2:
思路
双指针
a=1,b=1,c=0
for(int i = 2;i<=target;i++)
c = a + b
a = b
b = c
代码
public class Solution {public int jumpFloor(int target) {if(target<=1){return 1;}int a = 1,b = 1,c = 0;for(int i = 2;i<=target;i++){c = a+b;a = b;b = c;}return c;}}
