我有一个由n个不同元素组成的排序数组。找到所有元素对a和b,使得a + b> 1000

时间:2016-09-15 18:55:09

标签: algorithm

需要找到最佳算法。 我已经考虑迭代整个数组并为每个元素a [i],在数组上再次迭代以找到满足条件的元素。但是,肯定有更好的方法

1 个答案:

答案 0 :(得分:1)

由于数组越来越多,您可以使用二进制搜索来查找这些对。假设您要查找其总和大于K的对。对于每个元素x,您可以二进制搜索K-x并在数组中找到其位置i。索引超过i的所有元素都会与x成对,其总和大于K