楼梯走法

作者: 崔鹏宇 | 来源:发表于2019-07-26 23:10 被阅读3次

Github

public class 楼梯走法 {
    private static int i = 0;

    public static void main(String[] args) {
        calc("", 4);
        System.out.println("共有几种 = [" + i + "]");
    }

    //上楼梯每次只需一步或者两步,有多少走法
    public static void calc(String log, int num) {
        /**
         *  相减     log值
         *  4-1=3      1
         *  --------------
         *  3-1=2      1、1
         *  2-1=1      1、1、1
         *  1-1=0      1、1、1、1
         *  --------------
         *  3-2=1      1、2
         *  1-1=0      1、2、1
         *  --------------
         *  3-1=2      1、1
         *  2-2=0      1、1、2
         *  -----------------
         *
         *  4-2=2       2
         *  -----------------
         *  2-1=1       2、1
         *  1-1=0       2、1、1
         *  -----------------
         *  2-2=0       2、2
         *
         */
        if (num == 0) {
            i++;
            System.out.println(log);
            return;
        } else if (num == 1) {
            i++;
            System.out.println(log + "1");
            return;
        }
        calc(log + "1  ", num - 1);
        calc(log + "2  ", num - 2);
    }

}

相关文章

  • 楼梯走法

    Github

  • 走楼梯——走楼梯(一)

    在介绍动态规划的核心思想前,先看一道题。 LeetCode_70_ClimbingStairs 题目分析: 解法一...

  • 算法-爬楼梯问题

    一个N阶的楼梯,每次能1或着2阶,问走n阶的楼梯有多少种走法? 分析可知在走第n阶的时候,是与第n-1阶和n-2阶...

  • 走楼梯——走楼梯系列小总结(八)

    解题步骤 常见优化 非常规优化 相应例题的 Github

  • 走楼梯——二维走楼梯(三)

    LeetCode_62_UniquePaths 题目分析: 解法一:循环-动态规划 解法二:循环-动态规划-内存优...

  • 走楼梯——带权值走楼梯(二)

    LeetCode_746_MinCostClimbingStairs 题目分析: 解法一:递归 解法二:递归-动态...

  • 动态规划(一):爬楼梯

    题目 一个 阶的楼梯,每次能走 1~2 阶,问走到 阶一共多少种走法 分析 因为每次能走 1~2 阶,所以第 ...

  • 7.2走楼梯

    有个小孩正在上楼梯,楼梯有n阶台阶,小孩一次可以上1阶,2阶,3阶,请实现一个方法,计算小孩有多少种上楼梯的方式....

  • 记得走楼梯

    当你无法从一楼蹦到三楼时,不要忘记走楼梯。 学习一种新知识,掌握一种新技能,做到得心应手,熟练应用,真的需要好好下...

  • 催眠练习 Day 25

    练习:与神对话 我先用了数息法和渐进法放松,然后用下楼梯法引导自己穿过任意门。想象自己正在走下一段白色的阶梯,每走...

网友评论

    本文标题:楼梯走法

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