問題:有 n 個包裝好的商品要裝箱,由 m 個供應商供應各種不同大小的箱子。每個箱子只能裝一個商品,箱子容量減去商品體積為空間的浪費,計算出使用不同供應商的箱子裝箱最少的總空間浪費。若這 m 個供應商的箱子都無法將這些商品完全裝箱,則輸出 -1 。
範例01:輸入商品體積 packages = 2,3,5、供應商 m = 2、箱子容積 boxes = [4,8],[2,8],代表供應商 0 供應兩種箱子容積分別是 4 , 8、供應商 1 供應容積分別為 2 , 8 的兩種箱子。輸出 6 ,因為使用供應商 0 的箱子裝箱 3 個商品,總空間浪費為(4 - 2) + (4 - 3) + (8 - 5) = 6。
範例02:輸入 packages = 2 , 3 , 5 、 m = 3 、boxes = [1,4], [2,3], [3,4]。輸出 -1 ,因為 3 個供應商的箱子都無法將商品完全裝箱。
範例03:輸入 packages = 3,5,8,12,11,10、m = 3、boxes = [12],[11,9],[10,5,14]。輸出 9 ,因為使用供應商 2 的箱子,總空間浪費為(5 - 3)+(5 - 5)+(10 - 8)+(14 - 12)+ (14 - 11)+ (10 - 10) = 9。
目前可以處理範例02,但無法處理範例01與範例03:
資料來源:
1.Python 資料結構×演算法 刷題鍛鍊班:234 題帶你突破 Coding 面試的難關
2.LeetCode——1889. 装包裹的最小浪费空间(Minimum Space Wasted From Packaging)[困难]——分析及代码(Java)
題目目錄
01.資料結構-第2章陣列 Array 題目 2.1一維陣列-延伸刷題:找出最大元素的位置
02.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.3 找出陣列中最大(或最小)的元素
03.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.2 刪除陣列中的指定位置的元素
04.資料結構-第2章陣列 Array 題目 2.1一維陣列-範例 2.1 插入元素到陣列中的指定位置
05.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題10:找出小於 n 的質數
06.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題11:從陣列中找出相加等於 k 的兩數
07.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.1 下列程式片段執行的輸出為何?
08.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.2 資料儲存於 A[0] ~ A[ n-1 ]。
09.資料結構-第2章陣列 Array 題目 2.1一維陣列-練習題2.3 下述程式擬找出陣列 A 中的極值
11.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題12:找零錢問題
12.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題13:比例背包問題
13.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題14:最少裝箱浪費問題
14.資料結構-第2章陣列 Array 題目 2.1一維陣列-刷題15:最大子陣列(Maximum Subarray)
15.資料結構-第2章陣列 Array 題目-2-D Array 的運算-範例 2.4 矩陣的輸出
沒有留言:
張貼留言