剑指offer──跳台阶

mac2026-08-10  5

题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 一次只能跳一阶或两阶 1.如果第一次跳了一阶,那么还剩下n-1个台阶,跳法为JumpFloor(n-1) 2.如果第一次跳了两阶,那么还剩下n-2个台阶,跳法为JumpFloor(n-2) 3.由1和2可以得出总跳法JumpFloor(n) = JumpFloor(n - 1) + JumpFloor(n - 2) 4.当只剩下一个台阶时,只有一种跳法;当还剩下2个台阶时,可以有2种跳法

代码:

public class Solution { public int JumpFloor(int target) { //当只剩下一个台阶时,只有一种跳法 if(target == 1) return 1; //剩下2个台阶时,可以有2种跳法 if(target == 2) return 2; //总跳法JumpFloor(n) = JumpFloor(n - 1) + JumpFloor(n - 2) return JumpFloor(target - 1) + JumpFloor(target - 2); } }
最新回复(0)