题目描述
我们可以用2乘1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2乘1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
分析:找规律
输入 | 多少种方法 |
---|---|
n=1 | 1种 |
n=2 | 2种 |
n=3 | 3种 |
n=4 | 5种 |
n=5 | 8种 |
n=6 | 13种 |
… | … |
# -*- coding:utf-8 -*-
class Solution:
def rectCover(self, number):
# write code here
if number == 0:
return 0
prenum = 1
preprenum = 1
res = 1
for i in range(1, number):
res = prenum + preprenum
preprenum = prenum
prenum = res
return res