标签: arrays algorithm
我们有两个排序的数组。在不使用额外内存的情况下,我们需要合并这两个数组(第二个数组有更多的空间用于合并)。输出应通过第二个数组返回
答案 0 :(得分:7)
假设附加空间位于第二个数组的末尾,只需从数组的末尾开始合并。使用指向数组中当前位置的两个索引i1和i2以及指向合并数组中当前位置的索引i。
i1
i2
i
初始化i,i1和i2以指向相应数组的最后一项。
迭代:将a1[i1]和a2[i2]的最大值写入a2[i]并调整索引(即减少i和保持更大的数组的索引值)。
a1[i1]
a2[i2]
a2[i]