假设我有四个小组
A [0,4,9]
B [2,6,11]
C [3,8,13]
D [7,12]
现在我需要每个组中的一个数字(即一个新组)E [A的数量,B的数量,C的数量,D的数量],以便E中的最大数量与最小数量之间的差值为E应该是最低的。这是什么类型的问题?哪种图形算法能更好地解决这类问题? 提前谢谢。
P.S:我正试图在java中解决这个问题,并对未指定的标题表示抱歉。
编辑: 最后,我找到了我实际需要的内容http://rcrezende.blogspot.in/2010/08/smallest-relevant-text-snippet-for.html
答案 0 :(得分:4)
其他算法:
答案 1 :(得分:2)
我认为你可以做一次详尽的搜索,快速终止,它没有看起来那么糟糕。
例如,如果你从A和B中选择一个数字,你可以从C中选择两个最接近这两个数字的数字,使用任何其他数字都不能产生更好的结果。
a
,您正在寻找接近间隔的数字(a,a)示例: