题目
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), …, (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。
- 示例:
|
|
解法
对于示例数组,所有的分组情况为:
|
|
然而,当数据过多时,无法直接列举出所有情况。
因此,我们首先可以考虑将数据进行排序。并且,我们知道,min函数的功能即获取较小的数,忽略较大的数。根据以上列举情况可以也看出,最大和的分组方式即为从小到大依次分组。故可以得出结论:
- 升序排列数组,得到有序数据。
- 依次间隔获取数据并求和。
|
|