日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Python剑指offer:矩形覆盖问题

發布時間:2025/4/16 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python剑指offer:矩形覆盖问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

* * * * * * * * * * * * * * * * * *

這個*作為一個矩形的示意圖。

顯然,這種大的問題我們可以分解成更小的問題,比如說,對于這個2*8的矩形放置方法f(8)而言,如果第一次豎著放,那么還剩下f(7)的放置方法需要考慮,然而,第一次,還可以橫著放置,那么,還剩下的放置方法有f(6)需要考慮。因此,f(8)一共有兩種模式,即f(8) = f(7) + f(6)。這是一個菲波那切數列問題,f(1)=1,f(2)=2,據此,我們可以編寫程序。

class Solution:def rectangle_cover(self, number):if number == 0:returnif number == 1:return 1if number == 2:return 2if number > 2:tempArray = [1, 2]for i in range(3, number + 1):tempArray[i%2] = tempArray[0] + tempArray[1]return tempArray[number % 2]

總結

以上是生活随笔為你收集整理的Python剑指offer:矩形覆盖问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。