我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2n的大矩形,总共有多少种方法?
比如n=3时,23的矩形块有3种覆盖方法:
class Solution {
public:
int rectCover(int number) {
//规律题,列出前几个即可发现规律
//类似斐波那契数列
if (number == 0)
return 0;
int first = 1, second = 2;
int sum = 0;
for (int i = 1; i < number; ++i) {
sum = first + second;
first = second;
second = sum;
}
return first;
}
};