arrays - 找出两个排序数组的最大总和

标签 arrays algorithm

有两个等长的排序数组AB,其中A按升序排序,数组B 降序排列。

A = {1, 3, 7, 7, 7, 7}
B = {7, 7, 5, 5, 5, 4}

我的任务是找到两个元素,一个来自A,另一个来自B,使它们的总和最大。

有一个约束,我可以从 A 中选择任何元素,但我必须按照这样的顺序从 B 中选择元素,即数组元素的索引B 应该大于 A 的所选元素。

在这种情况下,可以选择的最大和是12。我通过简单地从左到右迭代在 O(n) 中完成了它。

我想知道是否存在更好、更有效的方法来求出这两个元素的总和。

最佳答案

我们知道,最好的和是AB两两相加得到的序列C中的最大值。

AB是单调的,但是C可以是任意的,所以没有捷径,需要计算整个CO(N) 是最优的。

关于arrays - 找出两个排序数组的最大总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32482183/

相关文章:

javascript - 使用 jQuery (JavaScript) 合并对象数组中多个相同键的值

c++ - 具有相同复制值的类型转换问题到新数组类型

java - 测试单链表的循环

javascript - 二叉搜索树 'remove'函数的优化

.net - "Put N Queens",是否可以在 N = 20 的情况下在可接受的时间内运行?

java - 多态排序转换

arrays - 如何在 golang 中将字节数组打印为二进制?

Javascript图像数据转多维数组性能问题

Java - 生成特定数字的随机范围而不重复这些数字 - 如何?

java - 两个相关 for 循环的复杂度,外循环的复杂度为 log n