可能重复:
给定两个数组a和b。找到所有元素对(a1,b1),使得a1属于数组A,b1属于数组B,其总和a1+b1=k。
给定:一个未排序的整数数组A
输入:一个整数k
输出:所有元素之和等于k
的两个元素集合,时间复杂度为O(n)。
示例:
A = {3,4,5,1,4,2}
输入:6
输出:{3,3},{5,1},{4,2}
注意:我知道一种O(n logn)的解决方案,但那需要将数组排序。是否有任何方法可以在O(n)中解决这个问题?可以使用非平凡的C++数据结构,即空间没有限制。
{3,3}
的?输入数组中只有一个3。 - Sanjeevakumar Hiremath