每天一道算法題(十)---- 矩陣覆蓋

題目描述

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

時間限制:1秒 空間限制:32768K 熱度指數:320874

解題思路:這道題其實就是斐波那契數列數列,具體的思路和之前的青蛙跳臺階一樣,不懂的可以看上兩篇文章(青蛙跳臺階)還有斐波那契數列的公式。

代碼如下

// 斐波那契數列
public class Solution {
    public int RectCover(int target) {
        if (target <= 0) {
            return 0;
        }
        if (target == 1) {
            return 1;
        } else if (target == 2) {
            return 2;
        } 
        return this.RectCover(target - 1) + this.RectCover(target - 2);
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章