【问题标题】:Can it be possible to compute in linear time O(n) or O(nlogn)是否可以在线性时间 O(n) 或 O(nlogn) 中计算
【发布时间】: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找到了吗?,这不是作业问题,我只是想学习好的编程方法。

【问题讨论】:

标签: algorithm sorting


【解决方案1】:

一般问题是http://en.wikipedia.org/wiki/Subset_sum_problem

据我们所知,没有多项式速度算法可以解决该问题,并且相信不存在。但是,存在一些很好的近似方法。

【讨论】:

  • 还有伪多项式算法,这是编程比赛中经常测试的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-30
  • 1970-01-01
  • 2015-06-29
相关资源
最近更新 更多