java数据结构和算法(09)矩形覆盖

  • 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?完成如下代码:
public class Solution {
    public int RectCover(int target) {

    }
}
  • 思路:数学归纳法
    • n=1时,1种
    • n=2时,2种
    • n=3时,3种
    • n=4时,5种
  • 详细分析看下图
3614591_1500381257269_B18DB55610F4CC5E67C96674FE51EBDC.jpg
  • 代码
public class Solution {
    public int RectCover(int target) {
         if(target<1){
            return 0;
        }else if(target==1){
            return 1;
        }else if(target==2){
            return 2;
        }else {
            return RectCover(target-1)+RectCover(target-2);
        }
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-code.h...
    eddy_wiki阅读 9,382评论 0 30
  • 题目描述 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形...
    凌霄文强阅读 252评论 0 2
  • 10、动态规划系列 10.1 斐波那契数列马上解题 题目描述 求斐波那契数列的第 n 项,n <= 39。 解题思...
    落地生涯阅读 604评论 0 0
  • 在介绍此算法之前,我线抛出几道题目,当然这几道题目均出自于剑指offer大家可以简单思考一下。 Q1:大家都知道斐...
    很年阅读 838评论 0 1
  • 《剑指offer》面试题10(题目二)相关题目:矩形覆盖 题目:我们可以用2 x 1的小矩形横着或者竖着去覆盖更大...
    打工这件小事阅读 214评论 0 1