矩形覆盖
题目
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
方法
边界值测试:输入为0,1,21
2
3
4
5
6
7
8
9
10
11# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
if number<2:
return number
dp=[0]*(number+1)
dp[1],dp[2]=1,2
for i in range(3,number+1):
dp[i]=dp[i-1]+dp[i-2]
return dp[-1]