0
说我有一个100个数字的列表,我想将它们分成5个组,其中每个组内的总和最接近数字的平均值。从随机数序列中选择相同大小的数字组
最简单的解决办法是对百位数进行排序,并取最大值并继续添加最小的数字,直到总和超出平均值。
显然这不会带来最好的结果。我想我们可以使用BFS或DFS或其他搜索算法。像A *一样获得最佳结果。
有没有人有一个简单的解决方案呢?伪代码足够好。谢谢!
说我有一个100个数字的列表,我想将它们分成5个组,其中每个组内的总和最接近数字的平均值。从随机数序列中选择相同大小的数字组
最简单的解决办法是对百位数进行排序,并取最大值并继续添加最小的数字,直到总和超出平均值。
显然这不会带来最好的结果。我想我们可以使用BFS或DFS或其他搜索算法。像A *一样获得最佳结果。
有没有人有一个简单的解决方案呢?伪代码足够好。谢谢!
这听起来像是在knapsack problem上的变化,如果我正确地解释你,它可能是multiple knapsack problem。你不能想出一个简单的问题吗? :)
“数字的意思”是什么?我现在不太了解目标。 – 2010-09-09 04:08:59
@尼基塔:平均=平均 – EOL 2010-09-09 07:02:10