青蛙

跳台阶

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;

    }
}
全部评论

相关推荐

我就是0offer糕手:北大不乱杀
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务