Lintcode合并排序数组

合并排序数组 

合并两个排序的整数数组A和B变成一个新的数组。

样例

给出A=[1,2,3,4]B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6]

public class Solution {
    /*
     * @param A: sorted integer array A
     * @param B: sorted integer array B
     * @return: A new sorted integer array
     */
    public int[] mergeSortedArray(int[] A, int[] B) {
        // write your code here
        int c[]=new int[A.length+B.length];//创建一个能容纳A,B所有元素的数组
        int a[]=new int[10000];              //用来记录A,B中元素出现的个数
        for(int i=0;i             a[i]=0;                               //全赋初值为0
        }
        for(int i=0;i             a[A[i]]++;                         //记录A的元素个数
        }
        for(int i=0;i             a[B[i]]++;                        //记录B的元素个数
        }
        int x=0;
        for(int i=0;i             while(a[i]>0){                       //将个数大于0的数按序存在c中。
                c[x]=i;
                a[i]--;
                x++;
            }
        }
        return c;
    }
}

合并排序数组 

Accepted

总耗时:  2301 ms
100% 数据通过测试.

你可能感兴趣的:(Lintcode)