package leetcode;
/**
* <pre>
* 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 (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
* </pre>
* */
public class MergeSortedArray {
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int next = m + n - 1;
m = m - 1;
n = n - 1;
while (m >= 0 || n >= 0) {
if (m >= 0 && n >= 0) {
if (A[m] > B[n]) {
A[next--] = A[m--];
} else {
A[next--] = B[n--];
}
continue;
}
if (m < 0) {
A[next--] = B[n--];
continue;
}
A[next--] = A[m--];
}
}
}
}
/**
* <pre>
* 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 (size that is greater or equal to m + n) to hold additional elements from B. The number of elements initialized in A and B are m and n respectively.
* </pre>
* */
public class MergeSortedArray {
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int next = m + n - 1;
m = m - 1;
n = n - 1;
while (m >= 0 || n >= 0) {
if (m >= 0 && n >= 0) {
if (A[m] > B[n]) {
A[next--] = A[m--];
} else {
A[next--] = B[n--];
}
continue;
}
if (m < 0) {
A[next--] = B[n--];
continue;
}
A[next--] = A[m--];
}
}
}
}