如何解决将值平均分组
我会这样做:
- 添加所有值,我们称其为S
- 用S除以列数,我们称其为M。
- 使用背包算法(例如http://search.cpan.org/~andale/Algorithm-Knapsack-0.02/lib/Algorithm/Knapsack),找到总和为M或尽可能接近M的一组值。 pm(只是背包上的快速Google)
- 取一组值的总和并从S中减去,我们称其为T。
- 用T除以列数减去1
- 并重复算法
解决方法
让我尽我所能解释情况。
可以说我有3个值
1,2,3
我告诉一种算法,将该值分成x列。为了澄清起见,假设x = 2。
该算法确定值组最好按以下方式放入两列。
1st column 2nd column
---------------------------
1 3
2
每列都有一个偶数(总数,而不是文字)值。
现在说我有以下值
7,8,3,1,4
我告诉算法我希望将值分成3列。该算法现在告诉我,以下是最合适的。
1st column 2nd column 3rd column
8 7 3
1 4
请注意,即使列也不安静,但它尽可能地接近。只要列表尽可能接近就可以了。
有人有任何建议吗?知道这样做的任何好方法吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。