剑指offer:矩形覆盖
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer:矩形覆盖相关的知识,希望对你有一定的参考价值。
题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
class Solution:
"""
如果number == 1,那么只有1种
即
f(1) == 1
f(2) == 2
...
f(n) = f(n-1) + f(n-2)
因此跟斐波那契数列是一样的,可用递归也可用循环求解
"""
def rectCover(self, number):
if number <= 2:
return number
# return self.rectCover(number - 1) + self.rectCover(number - 2)
a, b = 1, 2
for i in range(3, number + 1):
c = a + b
a = b
b = c
return b
以上是关于剑指offer:矩形覆盖的主要内容,如果未能解决你的问题,请参考以下文章