[劍指offer] 矩形覆蓋

本文首發(fā)于我的個人博客:尾尾部落

題目描述

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

解題思路

依舊是斐波那契數(shù)列
f(1) = 1
f(2) = 2
當n=3時,它可以由n=2的情況再覆蓋一塊得到,也可以由 n=1的情況再覆蓋 2 塊得到,所以 f(3) = f(1) + f(2),依次往下推,可以得到
f(n) = 1, (n=1)
f(n) = 2, (n=2)
f(n) = f(n-1) + f(n-2), (n>2)
用遞歸的方法即可實現(xiàn)

參考代碼

public class Solution {
    public int RectCover(int target) {
        if(target<=0){
            return 0;
        }
        else if(target == 1|| target ==2){
            return target;
        }
        else{
            return RectCover(target-1) + RectCover(target-2);
        }
    }
}
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 題目:我們可以用21的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個21的小矩形無重疊地覆蓋一個2*n的大矩形,總...
    qming_c閱讀 481評論 0 0
  • 學習 1.二維數(shù)組中的查找 在一個二維數(shù)組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排...
    進擊的STE閱讀 486評論 0 1
  • 矩形覆蓋 題目描述 我們可以用(2*1)的小矩形橫著或者豎著去覆蓋更大的矩形。請問用n個(2*1)的小矩形無重疊地...
    echoVic閱讀 768評論 0 3
  • 本文出自 Eddy Wiki ,轉載請注明出處:http://eddy.wiki/interview-code.h...
    eddy_wiki閱讀 9,447評論 0 30
  • 近段時間網(wǎng)上流行的一句話友誼的小船說翻就分翻。友誼的小船說翻就翻。也許每個人對這句話的理解,和對事件有各種各樣的...
    五方閱讀 257評論 1 1

友情鏈接更多精彩內(nèi)容