题目:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
这个其实比较简单的算法,只需要每次使用跳二阶,跳一阶为参数递归,当最后剩余的阶数为0,说明是正确的跳法,跳法数+1;
源码
/**
* 跳台阶
* 每次跳1或2阶,求所有跳法
* @param target 台阶数
*/
public int JumpFloor(int target){
//当为0时,说明已经跳完
if(target==0){
return 1;
}
//当小于0,说明已经超过,当前跳法不合法
if(target<0){
return 0;
}
int once = JumpFloor(target-1);
int twice = JumpFloor(target-2);
return once+twice;
}
992

被折叠的 条评论
为什么被折叠?



