两个有序数组合并为一个有序数组
来源:互联网 发布:经纬度查询定位软件 编辑:程序博客网 时间:2024/05/21 21:45
两个有序且有重复的数组,合并为一个无重复的有序数组
比如a={1,1,1,2,2,4,8,9,17,18,19,25,30,35};b={3,6,6,9,10,15,16,19,25};
合并结果为c={1, 2, 3, 4, 6, 8, 9, 10, 15, 16, 17, 18, 19, 25, 30, 35};
算法代码为:
List<Integer> mergeList(int[] a, int[] b){List<Integer> result=new ArrayList<Integer>();int i = 0,j = 0;while(i<a.length&&j<b.length){if(i!=a.length-1 && a[i]==a[i+1]){i++; continue;}if(j!=b.length-1 && b[j]==b[j+1]){j++; continue;}if(a[i]>b[j]){result.add(b[j++]);}else if(a[i]<b[j]){result.add(a[i++]);}else if(a[i]==b[j]){result.add(a[i]);i++;j++;}}while(i<a.length){result.add(a[i++]);}while(j<b.length){result.add(b[j++]);}return result; }测试代码为:
<pre name="code" class="html">void testMergeList(){int a[]={1,1,1,2,2,4,8,9,17,18,19,25,30,35};int b[]={3,6,6,9,10,15,16,19,25};List<Integer> c = mergeList(a,b);System.out.println("xuejiao c = "+c);//Log.d("xuejiao","xuejiao c = "+c);}
0 0
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组为一个新的有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 两个有序数组合并为一个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- 合并两个有序数组
- metasploit 渗透测试(1)-基础
- IOS-43-导航栏标题navigationItem.title不能改变颜色的两种解决方法
- Infer of facebook使用简介 Mac篇II
- 黑马程序员---网络编程(TCP、MyIE、URL)
- ZeroClipboard 复制内容到剪贴板
- 两个有序数组合并为一个有序数组
- POJ - 2559(单调栈入门题)
- 比 H5 应用多一点原生应用小一点,流应用能不能将 H5 应用真正推广起来?
- android 打包 eclipse 错误 Export aborted because fatal lint errors were found
- 欢迎使用CSDN-markdown编辑器
- 1020. 月饼
- RadioGroup,RadioButton CheckBox控件的使用
- Swift 利用UIScrollView和两个UIImageView实现图片轮滚
- php跳转的几种方法