描述:
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路:
递归问题
斐波那契数列
代码:
class Solution:
def rectCover(self, number):
# write code here
a, b = 1, 2
if number == 1:
return 1
elif number == 0:
return 0
elif number == 2:
return 2
count = 2
while count < number:
count += 1
a, b = b, a + b
return b
结果:
运行时间:30ms
占用内存:5736k