题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路:
可以这样解题,每个台阶只存在两种可能性,跳过去或者跳上去。而之后一级台阶是一定会跳上去。
那么N级台阶,就有2的N-1次方种可能性。
public static void main(String[] args) {
Solution solution = new Solution();
int fibonacci = solution.JumpFloorII(5);
System.out.println(fibonacci);
}
public int JumpFloorII(int target) {
if (target == 1) {
return 1;
}
int count = 1;
for (int i = 0; i < target - 1; i++) {
count = 2 * count;
}
return count;
}