牛客网上的剑指 offer的在线编程:
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
# -*- coding:utf-8 -*-
'''
矩形覆盖
题目描述
我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
'''
class Solution:
def rectCover(self, number):
# write code here
if number <= 0:
return
elif number <= 2:
return number
else:
back1, back2 = 2, 1
for i in range(2, number):
back2, back1 = back1, back1 + back2
return back1