天天看點

劍指offer(十):矩形覆寫

題目描述:

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

分析:

劍指offer(十):矩形覆寫

圖檔截取自https://cuijiahua.com/blog/2017/11/basis_10.html,感謝。

代碼:

class Solution {
public:
    int rectCover(int number) {
        if(number==0)
            return 0;
        if(number==1)
            return 1;
        if(number==2)
            return 2;
        int f1=1,f2=2;
        int fn=0;
        for(int i=3;i<=number;i++){
            fn=f1+f2;
            f1=f2;
            f2=fn;
        }
        return fn;
        
    }
};