考察知识点:斐波那契数列
题目描述
我们可以用2 * 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2 * 1的小矩形无重叠地覆盖一个2 * n的大矩形,总共有多少种方法?
题解
分析
初看比较懵,我们带几组数据进去找规律:
观察 n = 3,
验证 n =4,
得到递推公式:f(n) = f(n-1) + f(n-2)
代码
class Solution {
public:
int rectCover(int number) {
if(number <= 0)
return 0;
else if(number==1 || number == 2)
return number;
else
return rectCover(number-1) + rectCover(number-2);
}
};