青蛙
跳台阶
http://www.nowcoder.com/questionTerminal/8c82a5b80378478f9484d87d1c5f12a4
public class Solution { int count=0; public int JumpFloor(int target) { //递归,到达台阶顶部时 方式+1 // if(target<=0)return 1; // if(target>=2){ // return JumpFloor(target-2)+JumpFloor(target-1); // }else{ // return JumpFloor(target-1); // } //要么是跳1级到达目标台阶,要么是跳2级 //到达第N级台阶的跳法 就相当于 到达第N-1级台阶的跳法+到达第N-2级台阶的跳法 //与斐波那契数列类似 if(target<=2)return target; int left=1,right=2; while(target>2){ left+=right; right+=left; target-=2; } if(target==1)return left; return right; } }