- 我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2*3的矩形块有3种覆盖方法:
- C++ 代码
image
class Solution {
public:
int rectCover(int number) {
if(number==0) return 0;
if(number==1) return 1;
else if(number == 2) return 2;
else{
int pre1=1;
int pre2=2;
int tmp;
for(int i=0;i<number-2;i++)
{
tmp=pre1+pre2;
pre1=pre2;
pre2=tmp;
}
return pre2;
}
}
};