【问题标题】:What is the following known as?以下被称为什么?
【发布时间】:2016-10-18 21:45:36
【问题描述】:

我有一个简单的算法问题。

  • 我有一组正整数S 和一个最大正整数i
  • 假设S(或S 的子集)的总和是其元素的总和。
  • 我需要找到S 的一个子集s,其总和不超过i 并且是“最大求和” - 这意味着S 的其他子集的总和不超过s 987654332@.

我想出的简单解决方案是遍历 S 的每个幂集并对整数求和,用我寻求的属性跟踪该集,但这个算法显然是指数的。

这个问题一定有一个众所周知的名字,因为我认为我不是第一个遇到这种需求的人。有人可以帮帮我吗?

【问题讨论】:

标签: algorithm


【解决方案1】:

使用动态规划解决您的集合的子集和问题。

然后从第 i 个条目扫描填充表到较小的值,直到找到非零条目(即存在这样的总和)。这是不超过给定值的子集的最大总和。

【讨论】:

    猜你喜欢
    • 2018-02-02
    • 2010-10-12
    • 1970-01-01
    • 2017-03-28
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多