我在一次与 C# 相关的采访中被问到这个问题。有 2 个数组 - 从最低到最高预先排序。我需要将所有这些组合在第三个数组中,并且它们应该以排序方式插入(因为它们正在进入)。
我提到的解决方案如下:
为了论证起见,假设
Array 1
具有以下元素 -1,2,3,4,5
并且Array 2
具有以下元素 -6,7,8,9,10
由于 2 个数组是预先排序的 - 您可以将 的第一个元素与
Array 1
的第一个元素进行比较Array 2
,并将较低的元素插入Array 3
.然后你会为
Element 2
ofArray 1
和Element 1
of做同样的事情Array 2
并弹出下一个最小的数字
我提到的方法应该有效 - 但我的问题如下:
- 这是最有效的方法吗?
- 是否有可以描述此过程的技术术语(如二进制搜索算法等)?
- 解决此问题的任何其他指示?