题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
示例1
输入
复制
1
返回值
复制
1
示例2
输入
复制
4
返回值
复制
5
public class Solution {
public int JumpFloor(int target) {
//方法一:递归 326ms 9820KB
// if(target==1){
// return 1;
// }
// if(target==2){
// return 2;
// }
// return JumpFloor(target-1)+JumpFloor(target-2);
//方法二:动态规划 13ms 9668kB
if(target==1){
return 1;
}
if(target==2){
return 2;
}
int[] ans=new int[target];
ans[0]=1;
ans[1]=2;
for(int i=2;i<target;i++){
ans[i]=ans[i-1]+ans[i-2];
}
return ans[target-1];
}
}
京公网安备 11010502036488号