【问题标题】:Find numbers in the groups using the sum and number of items in groups使用组中项目的总和和数量查找组中的数字
【发布时间】:2013-06-14 03:14:27
【问题描述】:

我有 50 个不同的整数。一个人将它们分成几组,并向我展示了每组中的数字总和以及每组中的项目数。我想找到组中的数字。如果我使用递归蛮力 C++ 程序来查找它们,对我来说花费的时间太长了。我想要一种更有效的方法来找到它们。

【问题讨论】:

  • 开始尝试贪心算法。
  • 背包问题是NP完全的;如果你能找到一种快速的方法来做到这一点,我会感到非常惊讶。
  • 旁注 - 尽管蛮力可能太慢,但迭代蛮力比递归蛮力更好。并从元素最少或总和最低的组开始。
  • 如果对数字没有其他限制,那么可能的解决方案是无限的,并且给定每个组的总和和数字,构建每个组中的数字将非常容易。
  • @mbratch ... 除非所有组的大小都为 1,在这种情况下,解决方案(或确定可解决性)是微不足道的。

标签: algorithm recursion sum


【解决方案1】:

可以通过剪枝来提高简单的递归解决方案的运行时间。

你能发布你的代码吗? 发布代码后,我将编辑此答案以向您展示如何操作。

【讨论】:

    猜你喜欢
    • 2020-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多