题目在这:​​https://leetcode-cn.com/problems/minimize-maximum-pair-sum-in-array/​

思路分析:

题目意思就是,找所有数对和的最大值,而数对和尽量都是最小的。

举个例子 ​​S = [3,5,2,3]​​​ 当(3,3)和(2,5)结合时最大为7。其他情况组合包含(3,5) 则将出现更大的数 8。
所以要避免出现大的值,一定是最大的数和最小的数组合。次大的和次小的组合。
可以不断的使用max和min函数,不过那样会超时。

我们可以将数组排序。第一个数和最后一个数进行结合,操作到中间即可。

完整代码:

.sort()
res = 1
n = len(nums) // 2
print(nums)
for i in range(n+1):
res = max(res,nums[i] + nums[-i - 1])

return

这里唯一要注意的点就是,数组的开头索引为0,而最后一位数的索引为-1。调整好这里即可。