题目
我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?
代码思路
还是一个斐波那契的问题。
代码
class Solution {
public:
int rectCover(int number) {
vector<int> memo(number+1, 0);
memo[1] = 1;
memo[2] = 2;
for ( int i = 3; i <= number; ++i ) {
memo[i] = memo[i-1] + memo[i-2];
}
return memo[number];
}
};