2014年4月20日 星期日

[LeetCode] Merge Sorted Array

Problem:
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.
Solution:O(m+n)
public class Solution {
    public void merge(int A[], int m, int B[], int n) {
        int Aindex = m-1;
        int Bindex = n-1;
        int index = m+n -1;
        while(Bindex>=0){
            if(Aindex<0 || (A[Aindex] < B[Bindex])){
                A[index] = B[Bindex];
                Bindex--;
            }
            else{
                A[index] = A[Aindex];
                Aindex--;
            }
            index--;
        }
    }
}

沒有留言:

張貼留言