矩形覆盖问题
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2*3的矩形块有3种覆盖方法:
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
a=1
b=2
if number<=2:
return number
for i in range(3,number+1):
a,b=b,a+b
return b
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
res=[0,1,2]
if number<=2:
return res[number]
for i in range(3,number+1):
res.append(res[-1]+res[-2])
return res[number]