只青蛙一次能够跳上1级台阶,也能够跳上2级……它也能够跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

//常规思路,关键要找到公式code

public class Solution {get

public int JumpFloorII(int target) {

    if(target==1||target==2)
	
        return target;
		
    int f2=2,i=3,fn=0;
	
    while(i<=target){
	
        fn=2*f2;
		
        f2=fn;
		
        i++;
		
    }
	
    return fn;
	
}

}io

//牛客网好的思路,采用左移的思路,真的简洁,代码看起来好爽 public class Solution { public int JumpFloorII(int target) { return 1<<(target-1); } }class