Lee*_*aan 1 sorting algorithm quicksort
我有n个数字和数字z.我想创建一个算法(伪代码)来查找在O(nlogn)中是否存在x + y = z的对(x,y).
我以为我可以运行quicksort算法.然后我将有2个数组:array1(元素<pivot)和array2(元素> pivot).如果数组中的第一个元素是<z,那么我可以检查array1中的所有其他元素以找到x + y = z的对.否则,如果array1中的第一个元素是> z,那么我将转到array2并执行相同的过程.我的建议是真的吗?
首先,对数组进行排序.
然后将一个指针/索引设置为已排序数组的每一端.
如果他们总结z,你保持它并将两个指针移向中间.
如果总和小于z,则将小端上的指针移向中间.
如果总和大于z,则将大端上的指针移向中间.
当指针遇到/通过时,你已经完成了.