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