题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法;
规律:
一级台阶:1 = 2^0;
二级台阶:2 = 2^1;
三级台阶:4 = 2^2;
四级台阶:8 = 2^3
…
n级台阶:count = 2^(n-1)
代码实现
public class Solution {
/**
* 运行时间:17ms
* 占用内存:9172k
* @param target
* @return
*/
public int JumpFloorII(int target) {
return (int)Math.pow(2,target-1);
}
}
递归实现
public class Solution {
/**
* 运行时间:17ms
* 占用内存:9460k
* @param target
* @return
*/
public int JumpFloorII(int target) {
if (target == 0)
return 0;
else if (target>0){
int value = 1;
int count = 1;
while (count<target){
value = 2*value;
count++;
}
return value;
}
return 0;
}
}