【发布时间】:2021-06-04 19:10:39
【问题描述】:
我试图找到一种分而治之的算法来解决 O(n) 中的这个问题,但我什么也没找到。 给定一个数组 A 和给定值 k。 找到总和大于或等于 k 的最小子集。 有人可以给我一个开始解决问题的想法吗?
非常感谢任何帮助。
【问题讨论】:
-
@n.'pronouns'm。这个问题是针对子数组的,而这个问题是针对子集的。不同之处在于子数组必须是连续的,但子集不必是连续的。
-
@kaya3 这个问题措辞不当。从 cmets 中可以清楚地看出,作者指的是子集而不是子数组。所有答案也适用于一个子集。很明显,子数组问题有一个多项式时间的答案。子集问题是 NP-hard。
-
“最小”是指最小的和还是最小的基数?
-
@n.'pronouns'm。最小基数
标签: algorithm divide-and-conquer