合并排序数组(简单版)

描述

合并两个排序的整数数组 AB 变成一个新的数组。 原地修改数组 A 把数组 B 合并到数组 A 的后面。


你可以假设A具有足够的空间(A数组的大小大于或等于m+n)去添加B中的元素。数组A和B分别含有m和n个数。

样例

样例 1:

输入:

A = [1,2,3]m = 3B = [4,5]n = 2

输出:

[1,2,3,4,5]

解释:

经过合并新的数组为[1,2,3,4,5] 样例 2:

输入:

A = [1,2,5]m = 3B = [3,4]n = 2

输出:

[1,2,3,4,5]

解释:

经过合并新的数组为[1,2,3,4,5]

解题思路:

该问题是合并两个已经排序的数组A和B。由于A数组有足够的空间容纳两个数组的元素,并且从后往前填充数组使得操作更简单方便。可以采用双指针的方法,同时从A和B的最后一个元素开始比较,逐步向前移动,并将较大的元素放入A数组的末尾。当一个指针耗尽时,将另一个数组剩余的元素直接复制到A中即可完成合并。这样最终得到一个新的有序数组。

Last updated

Was this helpful?