原文地址:LeetCode刷題DAY 39: 數(shù)組拆分 I
題目描述
給定長度為 2n 的整數(shù)數(shù)組nums,將這些數(shù)分成 n 對, 例如 (a1, b1), (a2, b2), ..., (an, bn) 巫员,使得從 1 到 n 的 min(ai, bi) 總和最大座掘。返回該最大總和 芦圾。
python實例展示
思路:排序
假設每一對表示為(an, bn)?鸠珠,且an<=bn纲刀,我們要求的是
也就是所有a的和边篮。因此這道題目的關鍵是在于如何將數(shù)組進行分對鸽凶,以盡可能把較大的數(shù)值保留下來。從上述公式可知齿椅,最大的值一定在b集合中琉挖,但我們應把第二大的值保留在a集合中,以此類推涣脚。所以我們可以將數(shù)組由小到大進行排序示辈,元素依次歸位a、b集合遣蚀,我們只需將從第一個元素起矾麻,所有的元素加起來纱耻,就是最后要返回的結果。
往期推薦: