美文网首页
算法(10)矩形覆盖

算法(10)矩形覆盖

作者: 猪_队友 | 来源:发表于2018-11-07 16:55 被阅读0次

题目描述

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

看到这个题感觉有点熟悉啊,仔细一想不正是跳台阶的问题吗?一次一个或者两个,这个本质也是啊。一个的相当于竖着的,两个的相当于横着放。

具体可以参照跳台阶

递归方法

 public static int JumpFloor(int target) {
        //最后没有了
        if (target == 0) {
            return 0;
        }
        //最后剩一个
        if (target == 1) {
            return 1;
        }
        //最后剩两个
        if (target == 2) {
            return 2;
        }

        return JumpFloor(--target) + JumpFloor(--target);

    }

for循环方法

 public static int JumpFloor1(int target) {
        //最后没有了
        if (target == 0) {
            return 0;
        }
        //最后剩一个
        if (target == 1) {
            return 1;
        }
        //最后剩两个
        if (target == 2) {
            return 2;
        }
        
        int one = 1;
        int two = 2;
        int result = 0;
        for (int i = 2; i < target; i++) {
            result = one + two;
            one = two;
            two = result;
        }
        return result;
        
    }

相关文章

  • 算法(10)矩形覆盖

    题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形...

  • 算法题10.矩形覆盖

    题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的...

  • 10、矩形覆盖

    题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,...

  • 10矩形覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大...

  • 10: 矩形覆盖

    题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形...

  • 剑指 offer:10、矩形覆盖

    10. 矩形覆盖 题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖...

  • 10. 矩形覆盖

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

  • 矩形覆盖

    题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形...

  • 矩形覆盖

    https://www.nowcoder.com/practice/72a5a919508a4251859fb2c...

  • 矩形覆盖

    描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总...

网友评论

      本文标题:算法(10)矩形覆盖

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