问题:
方法: 易知最大数对和最小的情况必在有序数列,无序必然导致数对和较大,所以先进行排序,然后取最大和即可。
package com.eric.leetcode
class MinimizeMaximumPairSumInArray {
fun minPairSum(nums: IntArray): Int {
nums.sort()
var result = 0
for (index in 0..nums.size / 2) {
if (result < nums[index] + nums[nums.lastIndex - index]) {
result = nums[index] + nums[nums.lastIndex - index]
}
}
return result
}
}
fun main() {
val input = intArrayOf(3, 5, 2, 3)
val minimizeMaximumPairSumInArray = MinimizeMaximumPairSumInArray()
print(minimizeMaximumPairSumInArray.minPairSum(input))
}
有问题随时沟通