劍指offer面試題09-4----矩形覆蓋

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

思路:覆蓋一個(gè) 2 * n,(n>=3) 的大矩形的方法數(shù)等于
1)使用一個(gè)2 * 1 的小矩形豎放在最左邊,剩下的部分相當(dāng)于覆蓋一個(gè) 2 *(n-1) 的大矩形的方法
2)使用兩個(gè)2 * 1 的小矩形橫放在最左邊,剩下的部分相當(dāng)于覆蓋一個(gè) 2 * (n-2) 的大矩形的方法
即f(x) = f(x-1) + f(x-2)
再處理好邊界值,f(0)=0, f(1)=1, f(2)=2

Python代碼如下:

class Solution:
    def rectCover(self, number):
        dp = [0, 1, 2]
        
        for n in range(3, number+1):
            dp.append(dp[n-1]+dp[n-2])
            
        return dp[number]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,995評(píng)論 0 2
  • 題目:我們可以用2 * 1的小矩形橫著或者豎著去覆蓋更大的矩形。請(qǐng)問用n個(gè)2 * 1的小矩形無重疊地覆蓋一個(gè)2 *...
    yui_blacks閱讀 195評(píng)論 0 0
  • 本文出自 Eddy Wiki ,轉(zhuǎn)載請(qǐng)注明出處:http://eddy.wiki/interview-code.h...
    eddy_wiki閱讀 9,444評(píng)論 0 30
  • 牛皮癬,學(xué)名銀屑病?,F(xiàn)代西醫(yī)學(xué)定義其為慢性炎癥性皮膚病。該病病程較長(zhǎng),有易復(fù)發(fā)傾向,有的病例幾乎終生不愈。該病發(fā)病...
    女人如水閱讀 275評(píng)論 0 11
  • 分三次看完了《狗十三》。 說實(shí)話,絲毫沒有驚艷感,也不明白為什么它的評(píng)分能高居榜首。拖沓冗長(zhǎng),見頭...
    Ailsa1983閱讀 250評(píng)論 0 1

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