【发布时间】:2019-10-23 02:34:22
【问题描述】:
这个问题是关于著名的分区问题。
我在这个问题上做了一些学习,发现大多数解决方案都遵循“将一个集合分成两个,使得它们的差异最小”,或者“确定是否有两个子集,它们的总和是相同的”
我想知道这个问题是否有解决方案:“将一个集合分成两个,使得它们的差异是某个值 d”
例如,它们的差值可能是 1 或 2。
subset({3,4,9}, diff=2) = [{9}, {3,4}]
因为子集 1 的和是 9,子集 2 的和是 7,这给了我们想要的差 2。
有这样的问题吗?
【问题讨论】:
标签: algorithm dynamic-programming