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

思路:我们知道小矩形可以横着放也可以竖着放,那么现在用f(n)表示种类数,举个例子,

       
       

假设第一个小矩形竖着放,那么剩下的就是f(3),

如果第一个小矩形横着放,那么他底下的也必须横着放,方法数则为余下的f(2)

因此可以推导出公式:f(n)=f(n-1)+f(n-2),其中f(1)=1,f(2)=2;

class Solution {

public:
    int rectCover(int number) {
        if(number==0) return 0;
        if(number==1) return 1;
        if(number==2) return 2;
        int res=0;
        int pre1=1;
        int pre2=2;
        for(int i=3;i<=number;i++){
            res=pre1+pre2;
            pre1=pre2;
            pre2=res;
        }
        return res;
    }
};

剑指offer——矩阵覆盖相关推荐

  1. [剑指offer] 矩阵覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 感觉像是刷次数一样.. 又是斐波那契 考虑最后一列,其元素只 ...

  2. 剑指offer 矩阵中的路径 @python

    剑指offer 矩阵中的路径 @python 题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向 ...

  3. [剑指Offer]-矩阵中的路径

    题目描述 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中 ...

  4. 剑指offer:矩阵中的路径

    题目 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵中的某 ...

  5. 剑指offer 矩形覆盖

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 本题和青蛙跳台阶异曲同工之妙,都是菲波那切数列的变形 ...

  6. 剑指offer——矩阵中的路径

    问题描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子.如果一条路径经过了矩阵 ...

  7. 【剑指offer】顺时针打印矩阵

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/26053049 剑指offer上的第20题,九度OJ上測试通过. 题目描写叙述: 输入一个矩 ...

  8. 剑指offer:顺时针打印矩阵

    题目 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1 ...

  9. 7、斐波那契数列、跳台阶、变态跳台阶、矩形覆盖------------剑指offer系列

    题目:斐波那契数列 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0). f(n) = f(n-1) + f(n-2) 基本思路 这道题在剑指offe ...

最新文章

  1. 模拟一个简单计算器_阅读模拟器的简单介绍
  2. Android进阶知识:事件分发与滑动冲突(一)
  3. java的单例设计模式
  4. golang中的strings.SplitAfter
  5. Scala学习第五天数组
  6. Applet 大文件上传
  7. tomcat源码分析_百战卓越108天tomcat和servlet源码分析
  8. 手忙脚乱的快乐 谈谈Overcooked让人爱恨交织的多人合作机制
  9. 使用SQLQuery
  10. Linux指令not found
  11. 2003服务器远程桌面连不上解决办法
  12. 漫步微积分七——连续函数
  13. springboot 多线程_机密文档!阿里产出SpringBoot/Cloud,细节爆炸
  14. 控制台怎么查看错误的详细信息_js错误处理,quot;try..catchquot;
  15. 续招商、保利后,纬衡科技又签地产大鳄碧桂园
  16. cannot be cast to android.support.v4.app.Fragment
  17. x线计算机体层成像设备教案,医学影像设备学第4章-数字X线设备ppt课件
  18. 微信小程序(第二十六章)- json-server环境搭建
  19. Python openpyxl 删除excel有删除线的文字
  20. 什么是大型机和小型机

热门文章

  1. 12个乒乓球,其中有11个球每个球重量一模一样,另外1个球重量和那11个球不一样.用天平称三次,把单独的球(和那11个重量不一样的球)找出来
  2. 编写程序计算圆的面积和周长。
  3. 杀虫灯可以诱捕哪些害虫,菜田可以用吗?
  4. 光纤工程的,光纤熔接,光纤测试
  5. 8个Spring事务失效的场景,你碰到过几种?
  6. 简单运算器的设计与仿真
  7. python控制鼠标点击_python模拟点击中如何操作鼠标位置?
  8. P1417 烹调方案
  9. CT图像重建算法------迭代投影模型之距离驱动算法(Distance-Driven Model,DDM)
  10. 关于八码数问题有解与无解的证明