美文网首页IT面试
剑指offer(十)矩形覆盖

剑指offer(十)矩形覆盖

作者: z七夜 | 来源:发表于2018-08-06 13:53 被阅读6次

    写在前面:

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

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

    思路
    先找规律,我们假设有几行矩形,可以用这个小矩形去覆盖
    可以这样0 0
    也可以这样0
    0

    0 0 1种
    0 0 2种
    0 0 3种
    0 0 5种

    代码实现

    package com.itzmn.offer;
    
    /**
     * @Auther: 张梦楠
     * @Date: 2018/7/30 08:44
     * 简书:https://www.jianshu.com/u/d611be10d1a6
     * 码云:https://gitee.com/zhangqiye
     * @Description:  使用小矩形覆盖大矩形
     *
     *      0 0    1
     *      0 0    2
     *      0 0    3
     *      0 0    5
     *
     */
    public class Offer10 {
    
    
        public static void main(String[] args) {
    
            int i = new Offer10().RectCover(4);
            System.out.println(i);
    
        }
    
    
        public int RectCover(int target) {
    
            if (target <= 2 && target >=0){
                return target;
            }
            if (target < 0 ){
                return 0;
            }
    
            return RectCover(target-1)+RectCover(target-2);
        }
    
    
    
    
    
    }
    

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

    相关文章

      网友评论

        本文标题:剑指offer(十)矩形覆盖

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