博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十二题 Merge Sorted Array
阅读量:6509 次
发布时间:2019-06-24

本文共 1541 字,大约阅读时间需要 5 分钟。

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 nrespectively.

Solution1:新建ArrayList暂存merged list,后放回A

public class Solution {    public void merge(int A[], int m, int B[], int n) {        int length = m+n;        ArrayList
merge = new ArrayList
(); int posA =0, posB=0, i=0; while( i
=n){merge.add(A[posA]); posA++; i++;} else if(posA>=m){ merge.add(B[posB]); posB++; i++;} else if(A[posA]<=B[posB]){merge.add(A[posA]); posA++; i++;} else{merge.add(B[posB]); posB++; i++;} } for(i=0; i
Solution2:可不能够不额外开辟空间?利用倒序。

public class Solution {    public void merge(int A[], int m, int B[], int n) {        int position = m+n-1;        while(m>0 && n>0){            if(A[m-1]>=B[n-1]) {                A[position] = A[m-1];                m--;                            }            else{                A[position] = B[n-1];                 n--;                             }            position--;        }        while(n>0){            A[position] = B[n-1];            n--;            position--;        }    }}
Solution1:再简单点?

public class Solution {    public void merge(int A[], int m, int B[], int n) {                for(int i=m+n-1; i>=0; i--) A[i]=((m>0)&&(n==0 || A[m-1]>=B[n-1]))?A[--m]:B[--n];            }}

转载地址:http://sbbfo.baihongyu.com/

你可能感兴趣的文章
一些数学上的名词及操作
查看>>
<%@ include %>指令和<jsp:include>区别
查看>>
因为文件组 'PRIMARY' 已满 解决办法
查看>>
Flume 读取实时更新的日志文件
查看>>
HDU 2049
查看>>
《Spring1之第十次站立会议》
查看>>
Unity Shader 噪声消融特效 - 剑灵死亡特效
查看>>
Eclipse 自动生成 Ant的Build.xml 配置文件
查看>>
添加一条信息到列表,如果重复就替换,
查看>>
C#基础第五天
查看>>
python 小数相加报错 invalid literal for int() with base 10
查看>>
【ubuntu】linux链接库
查看>>
uva 12325 枚举暴力 b
查看>>
多线程问题(JVM重排序)
查看>>
LeetCode 459 Repeated Substring Pattern
查看>>
POJ 3268 Silver Cow Party
查看>>
EMLS项目推进思考
查看>>
Eclipse快捷键 10个最有用的快捷键
查看>>
2018-2019-1 20165302 实验五 通讯协议设计
查看>>
Golang 知识点总结
查看>>