題目
一隻青蛙一次可以跳上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;
}
}