【发布时间】:2018-03-17 13:15:42
【问题描述】:
给定两个 排序 整数数组 A1、A2,长度相同 n 和一个整数 x,我需要编写一个在 O(nlog(n)) 中运行的算法确定是否存在两个元素a1, a2(每个数组中的一个元素)构成a1+a2=x。
起初我想有两个索引迭代器i1=0, i2=0(每个数组一个),它们从 0 开始并一次增加一个,具体取决于 A1 的下一个元素是否大于/小于 A2 的下一个元素。但是在两个数组上测试之后,我发现它可能会错过一些可能的解决方案......
【问题讨论】:
-
在我看来,遍历
A1的每个元素a并在A2中对x - a进行二进制搜索应该可以解决问题。
标签: algorithm