Arrays 小于限制的最大总和
我一直在试图解决这个问题,但没能想出一个算法 我的尝试-Arrays 小于限制的最大总和,arrays,algorithm,Arrays,Algorithm,我一直在试图解决这个问题,但没能想出一个算法 我的尝试- 将输入分成两个数组,一个是奇数索引的值,另一个是偶数索引的值。之后,对数组进行排序并将数字相加,直到总和小于限制。我很快就通过一些测试用例发现了这个缺陷 我将输入存储在一个数组中,每次我试图添加剩余的最大数,条件是它不与已经添加的任何数相邻,但这个算法也被证明是错误的 现在,我能想到的唯一解决方案是尝试所有可能的组合:( 请建议解决此问题的正确算法。这是一个众所周知的NP难问题,因此,如果您的解决方案是指数型的,请不要担心。这是一个背包问
请建议解决此问题的正确算法。这是一个众所周知的NP难问题,因此,如果您的解决方案是指数型的,请不要担心。这是一个背包问题,有一个附加约束(您不能拾取两个相邻的灌木丛),附加的约束并没有使它变得更容易或更难。因为它和背包一样难,即NP完全,除了蛮力搜索(可以优化,但仍然是指数/超多项式)之外,基本上没有什么其他的事情要做。thnx…它工作了…背包实现中稍微修改一下就得到了AC:)