天天看點

劍指offer_矩形覆寫

原題描述:

       我們可以用2*1的小矩形橫着或者豎着去覆寫更大的矩形。請問用n個2*1的小矩形無重疊地覆寫一個2*n的大矩形,總共有多少種方法?

思路:

       畫個圖,可以明顯看出該問題實質上就是爬樓梯問題。

class Solution {
public:
    int rectCover(int number) {
        int a[2000];
        a[0]=0;
        a[1]=1;
        a[2]=2;
        for(int i=3;i<=number;i++){
            a[i]=a[i-1]+a[i-2];
        }
        return a[number];
    }
};