剑指offer--矩形覆盖

剑指offer–矩形覆盖

一、前言

最近开始刷剑指offer,记录一下。牛客网在线编程板块的剑指offer专区。
牛客网剑指offer:传送门
或者点击下方链接。
https://www.nowcoder.com/ta/coding-interviews
剑指offer--矩形覆盖_第1张图片

二、题目描述

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

三、代码

# -*- coding:utf-8 -*-
class Solution:
    def rectCover(self, number):
        # write code here
        if number == 0 :
            return 0
        if number == 1:
            return 1
        if number == 2:
            return 2
        a=1
        b=2
        for i in range(3,number+1):
            b=a+b
            a=b-a
        return b

if __name__ == '__main__':
    s=Solution()
    print(s.rectCover(3))

剑指offer--矩形覆盖_第2张图片

你可能感兴趣的:(剑指offer)