剑指offer:矩形覆盖

标签: 剑指offer
2人阅读 评论(0) 收藏 举报
分类:

题目描述

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

思路:

1.1个2*1个格子只有一种放法,一个2*2的格子有2种放法(2个2*1全横着或者全竖着),3个就看第一步是放2个还是1个和斐波那契数列差不多,起始不同,和青蛙跳台阶完全一样,f(n)=f(n-1)+f(n-2)第一种递归的方法。
2.第二种方法记录一下前两个跳法的结果f(n-2)和f(n-1)

code

class Solution {
public:
    //1.
    int rectCover(int number) {
        if(number==0){
            return 0;
        }else if(number==1){
            return 1;
        }else if(number==2){
            return 2;
        }
        return rectCover(number-1)+rectCover(number-2);
    }
    //2.
    int rectCover(int number) {
        if(number<=2)
            return number;
        int pre=1,res=2;
        number-=2;
        while(number--){
            int temp=res;
            res=pre+res;
            pre=temp;
        }
        return res;
    }
};
查看评论

剑指offer——矩形覆盖问题

题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:我们采用从能够简单到复杂的思路思考这个问题,当n=1的时...
  • sbq63683210
  • sbq63683210
  • 2016-07-30 10:35:05
  • 921

剑指offer--矩形覆盖

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? public class Solution { ...
  • kangaroo835127729
  • kangaroo835127729
  • 2015-04-10 21:45:29
  • 795

【剑指Offer】矩形覆盖

问题描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。 请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形, 总共有多少种方法?解题思路n=1 - 只有横放一个矩形一种解决办法 n=...
  • zgljl2012
  • zgljl2012
  • 2015-09-16 00:56:43
  • 2048

【剑指offer——JAVA实现】矩形覆盖

【考点:递归和循环】矩形覆盖题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路本题与《【剑指offer——...
  • lhl1124281072
  • lhl1124281072
  • 2018-04-07 17:06:36
  • 8

剑指offer: 矩形覆盖(循环与递归)

题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 分析: 如图,设n=3,设我们...
  • fengsser
  • fengsser
  • 2015-06-30 10:05:11
  • 2337

剑指offer-算法题练习:part10 矩形覆盖-斐波那契数列问题

剑指offer-算法题练习:part10 矩形覆盖-斐波那契数列问题 时间限制:1秒空间限制:32768K 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形...
  • sinat_24206709
  • sinat_24206709
  • 2016-09-29 09:39:28
  • 832

JAVA实现矩形覆盖问题(《剑指offer》)

题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 最近在刷《剑指offer》里的编程题,但是网上关于《剑...
  • qq_15062527
  • qq_15062527
  • 2015-10-01 16:44:35
  • 1214

矩形覆盖(剑指Offer)

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解答: public class Solution { pub...
  • cheidou123
  • cheidou123
  • 2017-08-13 13:29:42
  • 50

剑指offer 矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?解题思路:该题实际上就是一个斐波那契数列,找到规律之后,就容易求...
  • u010889616
  • u010889616
  • 2015-08-18 23:14:11
  • 323

《剑指offer》——矩形覆盖

T: 题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 这个题目乍看不知道怎么入手,如果稍加分析的...
  • shansusu
  • shansusu
  • 2015-11-06 20:23:29
  • 314
    个人资料
    持之以恒
    等级:
    访问量: 3649
    积分: 542
    排名: 9万+
    最新评论