查找预排序数组中的两个元素是否总和等于某个值

时间:2010-02-05 01:27:09

标签: algorithm

我正在处理作业问题,而且我在创建O(n * logn)解决方案时遇到了一些困难。我需要编写一个函数,它接受一个预先排序的数组和一个值来搜索。然后我需要找出数组中的任何两个元素总和是否等于该值。

我需要为此创建O(n)和O(n * logn)算法。

O(n)很容易创造;但是,我在创建O(n * logn)算法时遇到了困难,而没有添加一些实际上没有帮助解决问题的无偿代码。如果有人能给我一些关于我可能会遗漏的内容的指示,我们将不胜感激。

2 个答案:

答案 0 :(得分:4)

从第一个元素开始,然后按顺序进行。然后,使用二分搜索搜索第二个元素。

答案 1 :(得分:0)

因为它们是预先排序的,所以您可以使用二分搜索和线性搜索