给定两个排序的整数数组a和b,以及一个整数c,我必须找到i,j这样的数组:
a
b
c
i,j
a[i] + b[j] <= c
并a[i] + b[j]尽可能大。
a[i] + b[j]
我能想到的最佳解决方案是 O ( n log n )时间,从第一个数组中取出每个整数,然后找到“ c-a[i]” 的下限。 有人可以建议我做一个更好的方法(也许是在O( n )时间)吗?
c-a[i]
想一想,然后您可能会问自己: “是否有必要每次都在排序的b数组中搜索a []的连续值?”