【发布时间】:2011-02-18 05:36:03
【问题描述】:
我有以下问题要解决。作为输入,我有 2 个十进制数组。两者的元素之和相等。实际问题是通过部分和将一个数组中的值分配给第二个数组 - 如果一个数组中的某个元素是第二个数组中任意数量元素的总和 - 它们应该相互分配。
样品1:
阵列 1:25.0、25.0、50.0、50.0 数组2:50.0、100.0
预期结果:50.0 是 25.0 和 25.0 之和,100.0 是 50.0 和 50.0 之和
(0->0,1; 1->2,3)
样本2:
阵列 1:20.0、70.0、80.0、130.0 数组2:100.0、200.0
预期结果: 100 = 20+80, 200 = 70+130 (0->0,2; 1->1,3)
想法是返回分配的数组元素索引并尽可能少地返回。
【问题讨论】:
-
你知道这个问题是NP完全的吗(例如:通过子集和)?