剑指offer(八)跳台阶

作者: z七夜 | 来源:发表于2018-08-06 12:29 被阅读0次

    写在前面:

    为了增长一下自己的数据结构能力,也为了面试准备,准备将剑指Offer做一下,并与各位分享,希望各位可以对代码以及思路提提建议,欢迎志同道合者,谢谢。

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

    思路:
    找一下规律
    1级 只有一种可能
    2级有两种可能
    3级 因为他可以跳两级,也可以跳一级,三级的台阶,不是从1级上来就是从2级上来,我们只需要将一级的可能加上二级的可能就是三级的跳法,其他的也是一样,这也是斐波那契数列

    代码实现

    package com.itzmn.offer;
    
    /**
     * @Auther: 张梦楠
     * @Date: 2018/7/28 11:36
     * 简书:https://www.jianshu.com/u/d611be10d1a6
     * 码云:https://gitee.com/zhangqiye
     * @Description:
     *      1 1 1 2 2
     *
     *      3级台阶
     *      可以跳一级,2级,几种跳发
     *      3个1         1
     *      1个2 1个1     2
     *
     *      4级
     *      4个1         1
     *      2个1 1个2     3
     *      2个2         1
     *
     *      5级
     *
     *      5个1         1
     *      1个2 3个1
     *      2个2 1个1     3
     *
     *
     *
     *
     */
    public class Offer8 {
    
    
        public static void main(String[] args) {
    
            int i = new Offer8().JumpFloor(5);
            System.out.println(i);
        }
    
        public int JumpFloor(int target) {
    
            if (target <= 3){
                return target ;
            }
    
            return JumpFloor(target-1)+JumpFloor(target-2);
        }
    
    
    
    
    }
    

    希望大家可以多多指点,优化一下,
    QQ群:552113611

    相关文章

      网友评论

        本文标题:剑指offer(八)跳台阶

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