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

标签 algorithm

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

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

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

最佳答案

从第一个元素开始,按顺序进行。在此期间,使用二进制搜索搜索第二个元素。

关于algorithm - 查找预排序数组中的两个元素总和是否等于某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2204487/

相关文章:

algorithm - 实现极小极大算法

algorithm - 恒定时间是什么意思?

java - 查找二叉树节点有序排序的高效算法

java - 非密文加密算法

c# - 打印所有唯一数字

algorithm - 图片相似度比较

algorithm - 在 WebGL 中使用 for 循环进行二进制搜索

c# - 查找文本中完全匹配的所有关键字及其索引c#

python - 如何遍历这棵树?

arrays - 列表中唯一的集合总和