找到两个元素,使得sum等于给定值

时间:2012-04-07 15:39:32

标签: arrays algorithm time-complexity

给出两组'n'个数字A和B.从A中选择一个元素,从B中选择一个,使得总和等于给定值'val'。

我有解决方案:

  

我们可以散列集合A和集合B的元素,并检查集合A中的每个元素是否val-arr [i]存在于集合B的散列中。这将花费O(n)时间和O(n)空间   可以有更好的空间解决方案,如O(1)和时间O(n)?

1 个答案:

答案 0 :(得分:1)

由于两个数组都没有排序,你没有其他选择,只能逐个查看每个元素。因此,您不能低于O(n)运行时间。我认为你使用的方法还可以。

阅读以下相关帖子:

Given two arrays a and b .Find all pairs of elements (a1,b1) such that a1 belongs to Array A and b1 belongs to Array B whose sum a1+b1 = k

Find two elements in an array that sum to k