【发布时间】:2020-05-17 02:23:12
【问题描述】:
有两个数组的长度相同。
数组 A = 一组非负整数
数组 B = 一组非正整数
我必须为每个索引 i 选择 A[i] 或 B[i],并且想知道 abs(sum) 的最小值。
例如
示例 1
A = {1,2,3,4} , B = {-1,-2,-3,-4}
那么通过选择 1、-2、-3 和 4,abs(sum) 的最小值将为 0。(-1、2、3、-4)也可以。
示例 2
A = {1,1,1,3} , B = {0,0,0,-3}
那么通过选择 1,1,1 和 -3,abs(sum) 的最小值将为 0。
我只能想到一种天真的方法来计算所有可能的组合,这需要指数级的时间。有没有更好的方法来解决这个问题?
【问题讨论】:
-
我认为您需要选择...而不是每个 i 的 A[i] 或 B[i]。在您的问题中添加 n 和值范围的约束
标签: arrays algorithm dynamic-programming