考察知识点:斐波那契数列

题目描述

我们可以用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);
    }
};