【发布时间】:2015-12-19 22:33:27
【问题描述】:
给定一个有限的自然数序列。确定是否可以将数字分成两个子集,例如两个子集的总和相等。显示这种分布的一种变体。是否有初始集的子集,总数为 100。
我只看到该问题的蛮力算法 - 检查所有 S(n,2)(第二类斯特林数)组合的总数是否相等并显示一个这样的组合。并检查所有可能的初始集合组合是否等于 100。有更优雅的解决方案吗?
【问题讨论】:
-
你可以在这里找到几个更优雅的解决方案:stackoverflow.com/q/32354215/1009831。至于子集100,只需将一个新元素(value=sum-2*100)添加到集合中,然后将其划分为两个相等的子集。