给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组
数据范围: 0≤n,m≤1000,∣Ai∣<=100|,∣Bi∣<=100
注意:
1.保证 A 数组有足够的空间存放 B 数组的元素, A 和 B 中初始的元素数目分别为 m 和 n,A的数组空间大小为 m+n
2.不要返回合并的数组,将数组 B 的数据合并到 A 里面就好了
3. A 数组在[0,m-1]的范围也是有序的
示例1
输入
[4,5,6],[1,2,3]
输出
[1,2,3,4,5,6]
解析:
/* * 最优解:从后往前处理,不需要开辟额外空间 * Runtime: 0 ms.Your runtime beats 45.38 % of java submissions. */ public void merge(int[] nums1, int m, int[] nums2, int n) { int i = m - 1, j = n - 1, index = m + n - 1; while (i >= 0 && j >= 0) nums1[index--] = nums1[i] > nums2[j] ? nums1[i--] : nums2[j--]; while (j >= 0) nums1[index--] = nums2[j--]; }