题目描述:
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
思路:
标准DP
代码:
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
if number == 0:
return 0
if number == 1:
return 1
elif number == 2:
return 2
else:
for i in range(1,number+1):
if i == 1:
fib_1 = 1
elif i == 2:
fib_2 = 2
else:
tmp = fib_2
fib_2 = fib_1 + fib_2
fib_1 = tmp
return fib_2