合并两个有序数组

Posted lijianming180

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了合并两个有序数组相关的知识,希望对你有一定的参考价值。

合并两个有序数组

问题

这个题目说的是,给你两个递增排序的数组,你要把第二个数组合并到第一个,并使其仍然保持递增排序。两个数组中的元素个数会显式地给出,并且第一个数组的大小可以容纳下两个数组中所有的元素。

比如说给你的两个数组是:

2, 4, _, _
1, 3

它们都有 2 个元素。并且第一个数组后面有足够的空间来填充第二个数组。把第二个数组合并到第一个数组后,得到的是:

1, 2, 3, 4

代码

public class AlgoCasts {

  
  public void mergeTwoSortedArray(int[] nums1, int m, int[] nums2, int n) {
    int i = m - 1, j = n - 1, k 大专栏  合并两个有序数组or">= m + n - 1;
    while (i >= 0 && j >= 0) {
      if (nums2[j] > nums1[i])
        nums1[k--] = nums2[j--];
      else
        nums1[k--] = nums1[i--];
    }
    while (j >= 0) nums1[k--] = nums2[j--];
  }

}

以上是关于合并两个有序数组的主要内容,如果未能解决你的问题,请参考以下文章

合并两个有序数组

88. 合并两个有序数组

88. 合并两个有序数组

java刷题--88合并两个有序数组

LeetCode:合并两个有序数组

LeetCode:合并两个有序数组