题目描述:
我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2*3的矩形块有3种覆盖方法:
class Solution {
public:
int rectCover(int number) {
int fib[100]={1,2};
if(number < 1)
{
return 0;
}
if(number < 3)
{
return fib[number - 1];
}
int i = 2;
while(i < number)
{
fib[i] = fib[i-1]+fib[i-2];
i++;
}
return fib[number - 1];
}
};