标签: 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)?
答案 0 :(得分:1)
由于两个数组都没有排序,你没有其他选择,只能逐个查看每个元素。因此,您不能低于O(n)运行时间。我认为你使用的方法还可以。
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