矩形覆盖

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

仔细看题就会发现,前两道题和这道题其实思路都是差不多的。

 1 class Solution {
 2 public:
 3     int rectCover(int number) {
 4     int a=2, b=1;
 5     int t = 0;
 6     for(int i=3; i<=number; ++i) {
 7         t = a+b;
 8         b = a;
 9         a = t;
10     }
11     if(number == 1) return 1;
12     else {
13         if(number == 2) return 2;
14         else {
15             if(number == 0) return 1;
16             else return t;
17         }
18     }
19 }
20 };
原文地址:https://www.cnblogs.com/mtc-dyc/p/4665549.html