Merge Two Sorted Arrays

描述

Given two sorted integer arrays A and B, merge B into A as one sorted array.

Note:You may assume that A has enough space to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.

分析

代码

  1. // Merge Two Sorted Arrays
  2. // 时间复杂度O(m+n),空间复杂度O(1)
  3. public class Solution {
  4. public void merge(int[] A, int m, int[] B, int n) {
  5. int ia = m - 1, ib = n - 1, icur = m + n - 1;
  6. while(ia >= 0 && ib >= 0) {
  7. A[icur--] = A[ia] >= B[ib] ? A[ia--] : B[ib--];
  8. }
  9. while(ib >= 0) {
  10. A[icur--] = B[ib--];
  11. }
  12. }
  13. }

相关题目

原文: https://soulmachine.gitbooks.io/algorithm-essentials/content/java/sorting/merge-sort/merge-two-sorted-arrays.html