【发布时间】:2019-01-12 06:09:51
【问题描述】:
原始问题有一个未排序的 2 个整数列表。为了简化这个问题,我们只考虑输入是 2 个排序的整数数组和一个整数目标。如果有超过 1 个解对,值对可以重复。
例如:[7,8,14],[5,10,14] 目标:20 解决方案是 [14, 5],因为第一个数组中的 14 和第二个数组中的 5 和 19 最接近 20。
我的解决方案是从头到尾遍历两个数组,并与跟踪的最小差异进行比较,如果新差异更小,则更新。
但这是蛮力。有没有更好的解决方案?
我在网上找到的大多数解决方案都是从同一个数组中找到目标,2数组目标问题和1数组之间有什么相似之处吗?
【问题讨论】:
-
是否需要最接近目标而不超过,还是允许超过目标? p.s.这听起来像是背包问题的变体
标签: java arrays optimization dynamic-programming closest