我有以下矩陣:通過在python重排列的元件最小化在矩陣列的總和
([2, 5, 5, 10]
[7, 1, 4, 1]
[1, 3, 3, 9])
如果列相加的結果爲:
[10, 9, 12, 20]
我的目標是確定最佳可以對不同行中的元素進行排序,以便將列總和中的最大元素最小化。
例如,一種可能性是:
([2, 5, 5, 10]
[7, 1, 4, 1]
[1, 9, 3, 3])
如果列相加的結果爲:
[10, 15, 12, 14]
這是比第一個較好的解決。
最簡單的方法是檢查所有可能的排列,但是隨着矩陣的增長,這種方法在Python中變得非常慢。
任何想法以更快的方式做到這一點?
這並不總是給出最佳結果。你能想出一個更好的算法嗎? – Suparshva
我很想看到這種情況下失敗,我無法找到一個。 – gbtimmon
答案中的例子。使用qwerty提供的算法可以產生更好的結果。在你的算法中,我們收到了'[12,15,12,12]',但通過qwerty的算法,我們收到了'[13,12,12,14]'作爲最後的列和。 – Suparshva