标签:
Merge Sorted Array
Given two sorted integer arrays A and B, merge B into A as one sorted array.
A = [1, 2, 3, empty, empty]
, B = [4, 5]
After merge, A will be filled as [1, 2, 3, 4, 5]
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.
///Because it is sorted array, we can compare them from the end to the start.
///which one is greater, put it in the last array A
///keep decreasing m and n
///until m or n equal to 0
///if m=0, copy all the numbers in array B to A;
class Solution { /** * @param A: sorted integer array A which has m elements, * but size of A is m+n * @param B: sorted integer array B which has n elements * @return: void */ public void mergeSortedArray(int[] A, int m, int[] B, int n) { // write your code here while(m>0&&n>0) { if(A[m-1]>B[n-1]) { A[m+n-1]=A[m-1]; m--; } else { A[m+n-1]=B[n-1]; n--; } } while(n>0) { A[m+n-1]=B[n-1]; n--; } } }
[lintcode easy]Merge Sorted Array
标签:
原文地址:http://www.cnblogs.com/kittyamin/p/4993490.html