美文网首页
[剑指offer][Java]跳台阶

[剑指offer][Java]跳台阶

作者: Maxinxx | 来源:发表于2019-06-19 14:37 被阅读0次

题目

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

程序核心思想

跟斐波那契是一样的思想。可以跳一级也可以跳两级,就说明有两个基线条件。

一个青蛙怎么跳上n级台阶呢?可以从n-1级跳一级上去(这样的跳法的次数跟跳上n-1级是一样的,因为从n-1级跳上n级只能有一种跳法),或者可以从n-2级跳两级上去(这样的跳法的次数跟跳上n-2级也是一样的,因为从n-2级跳上去是一次跳两级。那么有人要问了,从n-2级跳到n级还差两级台阶,为什么不能分两种方式,一种是一级一级跳,一种是一次跳两级呢?因为如果一级一级跳的话,一定会跟前面从n-1级跳上去的一种方法重复,所以只能一次跳两级)。

所以跳上n级台阶的办法就是用跳上n-1台阶的办法数+跳上n-2级台阶的办法数。

Tips

同斐波那契数列,https://www.jianshu.com/p/eaef7b2711fc

代码

public class Solution {
    public int JumpFloor(int target) {
        if(target == 1){
            return 1;
        }else if(target == 2){
            return 2;
        }else{
            return JumpFloor(target - 1) + JumpFloor(target -2);
        }
    }
}

相关文章

  • [剑指offer][Java]跳台阶

    题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同...

  • 全网最全剑指offer题目解答

    【剑指offer】Java版代码(完整版) 【剑指offer】1-10题 【剑指offer】11-20题 【剑指o...

  • [剑指offer][Java]变态跳台阶

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

  • 《剑指offer》(八)-跳台阶(java)

    跳台阶 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次...

  • [剑指offer] 跳台阶

    本文首发于我的个人博客:尾尾部落 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台...

  • 剑指Offer——跳台阶

    简单跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同...

  • [剑指Offer]跳台阶

    本文首发于我的个人博客Suixin’s Blog原文: https://suixinblog.cn/2019/03...

  • 《剑指offer》(九)-变态跳台阶(java)

    变态跳台阶 考点:贪心算法 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳...

  • Java优先队列 剑指 Offer 40. 最小的k个数

  • [剑指offer] 变态跳台阶

    本文首发于我的个人博客:尾尾部落 题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该...

网友评论

      本文标题:[剑指offer][Java]跳台阶

      本文链接:https://www.haomeiwen.com/subject/sfymxctx.html