LintCode - 合并排序数组(普通)

版权声明:本文为博主原创文章,未经博主允许不得转载。

难度:容易
要求:

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

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

思路:归并排序

  /**
     * @param A and B: sorted integer array A and B.
     * @return: A new sorted integer array
     */
    public int[] mergeSortedArray(int[] A, int[] B) {
        int[] tmp = new int[A.length + B.length];    
        int tmpPos = 0;
        int aPos = 0;
        int aEnd = A.length - 1;
        int bPos = 0;
        int bEnd = B.length - 1; 
        while(aPos <= aEnd && bPos <= bEnd){
            if(A[aPos] < B[bPos]){
                tmp[tmpPos++] = A[aPos++];
            }else{
                tmp[tmpPos++] = B[bPos++];
            }
        }      
        while(aPos <= aEnd){
            tmp[tmpPos++] = A[aPos++];
        }        
        while(bPos <= bEnd){
            tmp[tmpPos++] = B[bPos++];
        }        
        return tmp;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 10,601评论 0 52
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 9,094评论 0 15
  • 1.插入排序—直接插入排序(Straight Insertion Sort) 基本思想: 将一个记录插入到已排序好...
    依依玖玥阅读 5,034评论 0 2
  • 一、 单项选择题(共71题) 对n个元素的序列进行冒泡排序时,最少的比较次数是( )。A. n ...
    貝影阅读 13,052评论 0 10
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 6,807评论 0 35

友情链接更多精彩内容