剑指offer之010-矩形覆盖

题目描述

我们可以用 2 * 1 的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

思路

f(1) = 1 f(2) = 2

f(n) = f(n-1) + f(n-2)

def rectCover(number):
    # write code here
    f1 = 1
    f2 = 2
    for _ in range(number-2):
        f2 ,f1 = f1+f2,f2
    return f2
print(rectCover(5))

关于明柳梦少

坚守自己的原则,不随波逐流。

One comment:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注