题目描述
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
比如n=3时,2*3的矩形块有3种覆盖方法:
code
- 强推几个发现递归形式为类斐波那契
- 注意直接用递归栈会超内存,使用递推
- 同类题:
class Solution {
public:
int f[1000];
int rectCover(int number) {
f[1]=1;
f[2]=2;
f[3]=3;
for(int i=4; i<=number; i++){
f[i]=f[i-1]+f[i-2];
}
return f[number];
}
};