题目描述(题一)
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
Java题解
首先我们可以确定这个题目可以使用递归完成,他有可能跳两级也可能跳一级,不管跳多少,最后都跳完就认为是一种方法
public class Solution {
private int num = 0;
public int JumpFloor(int target) {
num = 0;
jump(target);
return num;
}
public void jump(int lastNum){
if(lastNum == 0){
num++;
}else if(lastNum > 0){
jump(lastNum - 2);
jump(lastNum - 1);
}
}
}
一道类似的题目:
题目描述(题二)
变态跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
Java题解
这个自己从1个格子 画到 4个格子 就能找出来规律了~
import java.util.*;
public class Solution {
public int JumpFloorII(int target) {
return (int)Math.pow(2, target - 1);
}
}