python实现矩形覆盖

题目描述

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

思路

这是一道递归题,首先我们可以列举n=1,2,3,4时的情形观察一下规律(显然n=0时,为0)
【剑指offer】python实现矩形覆盖
可以明显看到f(n)=f(n-1)+f(n-2)

AC代码

class Solution:
    def rectCover(self, number):
        # write code here
        if number == 0:
            return 0
        tempArray = [1,2]
        if number >= 3:
            for i in range(3,number+1):
                tempArray[(i+1)%2] = tempArray[0] + tempArray[1]
        return tempArray[(number+1)%2]

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-12-04
  • 2021-10-27
  • 2021-07-29
  • 2022-02-15
  • 2022-01-24
  • 2022-12-23
猜你喜欢
  • 2022-01-03
  • 2021-04-04
  • 2021-07-05
  • 2021-06-08
  • 2021-07-17
  • 2021-06-20
相关资源
相似解决方案