题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
要求
时间限制:1秒 空间限制:32768K
题目分析
共需要跳上n阶台阶,而青蛙一次可以跳上一个台阶,或者两个台阶。
- 当青蛙第一次跳上一个台阶,剩余n-1个台阶
- 当青蛙第一次跳上两个台阶,剩余n-2个台阶
- 而在剩余的n-1或者n-2个台阶,青蛙下一次依然可以跳一个台阶或者跳两个台阶
- 以此类推
所以可以用递归的思想实现算法
算法实现
public int JumpFloor(int target) {
if (target <= 0) {
return -1;
} else if (target == 1) {
return 1;
} else if (target ==2) {
return 2;
} else {
return JumpFloor(target-1)+JumpFloor(target-2);
}
}

本文通过递归算法解决了一个经典的数学问题——青蛙跳台阶。详细分析了青蛙如何跳上n级台阶的不同方式,并给出了简洁的Java代码实现。
350

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



