【发布时间】:2012-10-18 21:39:10
【问题描述】:
给定n 排序数组,通过从每个数组中选择一个数字来创建一个新数组,以使新数组中数字的最大值和最小值之间的差异最小化。
n=3 输入数组示例:
A = {4, 10, 15}
B = {1, 13, 29}
C = {5, 14, 28}
在这种情况下,答案是从数组 A 中选择 15,从数组 B 中选择 13,从数组 C 中选择 14,因为 max[{15, 13, 14}] - min[{15, 13, 14}] = 15 - 13 = 2 并且没有其他组合可以得到最大值-最小差值小于 2。
什么是最有效的算法?
【问题讨论】:
-
不应该是
max - min = 15 - 13 = 2吗? -
数组总是排序的吗?
-
我澄清了这个问题,然后我认为它不应该被关闭。
-
@hexist,是的,数组总是排序的。我编辑了问题。
标签: algorithm