所以我正在开发一个有趣的小程序并遇到了这个相当有趣的问题: 我有几组预定义集合大小的值。这些都是更大的值(value)池中的一个独特子集。每个数字子集的平均值应尽可能接近。这不需要是完美的,但应该足够接近,以使所有集合彼此“平衡”。
例如:{1,2,3,6,9,10,15,23,27} 全局平均值:10.66 需要分成2组2个和一组5个
可接受的结果: {1,27}{2,23}{3,6,9,10}
在实践中,值的范围在 60 到 200 之间,集合的大小在 6 到 20 之间。
我尝试了几种不同的算法,取得了不同程度的成功,但我很想知道 StackOverflow 的优秀人士是怎么想的。
我最好的, 扎克
最佳答案
这让我想起了 RubyQuiz #65,"Splitting the Loot" .主要区别在于该问题是寻找完全相等的拆分,而不是几乎相等的拆分。也许其中一些解决方案会对您有所帮助。
关于algorithm - 平衡值(value)集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3121452/