/**
* Created by zhouzhuo on 2018/1/22.
* 题目:有两个有序数组a,b,现需要将其合并成一个新的有序数组
*
*
* 简单的思路就是先放到一个新的数组中,在排序。但是这样没有体现任何算法,这里考的不是快速排序等排序算法。关键是如何利用有序
* 这个已知条件。可以这样想,假设两个源数组的长度不一样,那么假设其中短的数组用完了,即全部放入到新数组中去了,那么长数组中剩下的那一段
* 就可以直接拿来放到新数组中去了*/
public class SortTwoArray {
public int[] sort(int[] a,int[] b){
int[] c = new int[a.length+b.length];
int i=0,j=0,k = 0;
while (i<a.length&&j<b.length){
if(a[i]>=b[j]){
c[k++] = b[j++];
}else {
c[k++] = a[i++];
}
}
while (j<b.length){
c[k++] = b[j++];
}
while (i<a.length){
c[k++] = a[i++];
}
return c;
}
}
java合并两个有序数组
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- //联系人:石虎 QQ: 1224614774 昵称:嗡嘛呢叭咪哄 面试题: 怎样把两个有序数组合并成有序数组呢 ...
- NSMutableArray *AArr = [NSMutableArray arrayWithObjects:@...