algorithm - 查找数组中最大的整数和但不大于 x

标签 algorithm sorting

假设我们有一个整数数组:

int array = {5, 7, 4, 4, 2}
int x=10

输出将是:

10 //(4,4,2)

实现此输出的最快方法是什么?

最佳答案

您正在处理一个 Subset Sum Problem (假设您不想要连续的子数组)。

问题是NP-Complete ,并且没有已知的多项式解(一般假设不存在,但是it is not proven yet)

然而,有一个pseudo polynomial solution, using Dynamic Programming .

关于algorithm - 查找数组中最大的整数和但不大于 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209278/

相关文章:

c++ - 为什么 vector 迭代器指向越界?

java - Java中的复制算法

c# - 绘制边缘方向的算法

C# 缓慢搜索

返回按计数排序的唯一值的 JavaScript 函数

php - 在 mysql 中排序 VS 已经排序的数组

linux - 按数字和增量对文件进行排序

Java - 将文本分成n个相等的行

algorithm - 一个时期内属于另一个时期的天数

Linux排序多个文件——排序: multi-character tab `$\\u0001'