LeetCode 1105 填充書架(DP)

2021-10-21 04:15:16 字數 1115 閱讀 5591

你把要擺放的書 books 都整理好,疊成一摞:從上往下,第 i 本書的厚度為books[i][0],高度為books[i][1]

順序將這些書擺放到總寬度為shelf_width的書架上。

先選幾本書放在書架上(它們的厚度之和小於等於書架的寬度 shelf_width),然後再建一層書架。重複這個過程,直到把所有的書都放在書架上。

需要注意的是,在上述過程的每個步驟中,擺放書的順序與你整理好的順序相同

例如,如果這裡有 5 本書,那麼可能的一種擺放情況是:第一和第二本書放在第一層書架上,第三本書放在第二層書架上,第四和第五本書放在最後一層書架上。

每一層所擺放的書的最大高度就是這一層書架的層高,書架整體的高度為各層高之和。

以這種方式布置書架,返回書架整體可能的最小高度

示例:

輸入:books =[[

1,1]

,[2,

3],[

2,3]

,[1,

1],[

1,1]

,[1,

1],[

1,2]

], shelf_width =

4輸出:6

解釋:3 層書架的高度和為 1+3

+2=6 。

第 2 本書不必放在第一層書架上。 1

<= books.length <=

1000

1<= books[i][0

]<= shelf_width <=

1000

1<= books[i][1

]<=

1000

class

solution

else

break;}

}return dp[n];}

};

4 ms 7.6 mb c++

我的csdn部落格位址

leetcode 1105 填充書架

附近的家居城 你買回了一直心儀的可調節書架,打算把自己的書都整理到新的書架上。你把要擺放的書 books 都整理好,疊成一摞 從上往下,第 i 本書的厚度為 books i 0 高度為 books i 1 按順序 將這些書擺放到總寬度為 shelf width 的書架上。先選幾本書放在書架上 它們的...

1105 填充書架

按順序 將這些書擺放到總寬度為 shelf width 的書架上。先選幾本書放在書架上 它們的厚度之和小於等於書架的寬度 shelf width 然後再建一層書架。重複這個過程,直到把所有的書都放在書架上。需要注意的是,在上述過程的每個步驟中,擺放書的順序與你整理好的順序相同。例如,如果這裡有 5 ...

leetcode筆記 116填充同一層的兄弟節點

題目 給定乙個二叉樹 struct treelinknode填充它的每個 next 指標,讓這個指標指向其下乙個右側節點。如果找不到下乙個右側節點,則將 next 指標設定為null。初始狀態下,所有 next 指標都被設定為null。說明 示例 給定完美二叉樹,1 2 3 4 5 6 7呼叫你的函...