【剑指offer】13_矩形覆盖

题目:

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


 

class Solution:
    def rectCover(self, number):
        if number < 0:
            return None
        elif number == 1 or number == 2 or number == 0:
            return number
        else:
            first = 1
            second = 2
            for i in range(number - 2):
                num = first + second
                first = second
                second = num
            return num

可以利用递归,但是会超时,所以用循环

你可能感兴趣的:(【剑指offer】13_矩形覆盖)