【发布时间】:2013-02-03 15:20:33
【问题描述】:
我试图在 O(n) 或 O(n log n) 中找到一种方法来在以下情况下返回输出。如果我有一个包含 n 个元素的集合,并且我需要找到集合中的最小数字集合,它加起来等于给定的数字。
例如, A=[0,9,1,2,5,4],如果给定我的 q=6,那么我可能的组合是:(2+4)、(1+5),如果没有适当的子集,则应返回 null找到了吗?,这不是作业问题,我只是想学习好的编程方法。
【问题讨论】:
-
看起来你必须尝试所有可能的组合.. 不能在 O(n) 中完成.. 但也许多线程版本可能会更快
-
如果你有兴趣,看看拟阵和贪心算法;)
-
请参考我的问题有解决方案stackoverflow.com/questions/14575931/…