题目描述

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

解题思路

简单的动态规划,类似于斐波那契数列

  1. class Solution:
  2. def rectCover(self, number):
  3. # write code here
  4. if number<=2:return number
  5. a,b=1,2
  6. for i in range(3,number+1):
  7. a,b=b,a+b
  8. return b