Merge Sorted Array Java

来源:互联网 发布:解压命令 linux 编辑:程序博客网 时间:2024/05/07 00:46

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.

Key to solve: Merge from back to front
    order to archive in place space,
    check for case of there are still elements left in B
     Time Complexity: O(m+n)

public class Solution {    public void merge(int A[], int m, int B[], int n) {        int i=m-1;        int j=n-1;        while(i>=0 && j>=0){            if(A[i]>B[j]){                A[i+j+1]=A[i];                i--;            }else{                A[i+j+1]=B[j];                j--;            }        }        //check for special case of B        while(j>=0){            A[j]=B[j];            j--;        }    }}


0 0
原创粉丝点击