合并有重复元素的两个有序数组,输出无重复元素
2014-10-23 13:46
411 查看
public class TwoArrMerge { public static int[] mergeArr(int[] a, int[] b) { int result[] = 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]) { result[k++] = a[i++]; }else { result[k++] = b[j++]; } } while (i < a.length) { result[k++] = a[i++]; } while (j < b.length) { result[k++] = b[j++]; } int m = 0; int[] newResult = new int[result.length]; for (int l = 0; l < result.length; l++) { if (l == 0) { newResult[m++] = result[l]; }else if (result[l] > result[l-1]) newResult[m++] = result[l]; } return newResult; } public static void main(String[] args) { int[] a = {1,2,3,4,7}; int[] b = {1,3,4,5,6,7,8}; int[] result = mergeArr(a, b); for (int i = 0; i < result.length; i++) { System.out.println(result[i]); } } }
相关文章推荐
- JAVA合并两个有序数组并去除重复元素。
- leetcode之数组类之数组的旋转与分治类-----OJ 189/33/81/153/154 数组旋转 旋转数组搜索 88 有序数组合并 4 两个有序数组寻找第K个元素/中位数 35 寻找插入位置
- 一个有序的数组中,删除重复出现的元素,输出不再重复出现的元素个数
- 两个有序数组合并,并去重复
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- ] 两个有序非重数组,如果查找数组之间的重复元素 (未完成)
- 两个有序非重数组,如果查找数组之间的重复元素
- [LeetCode]Merge Two Sorted Lists & Remove Duplicates from Sorted List 两个有序链表合并为一个&删除链表重复元素
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- LeetCode 167. Two Sum II - Input array is sorted,有序数组中的两个元素之和为某个数值,输出这两个元素的索引,且index1<index2
- 两个有序数组的合并排序,Java代码实现,并去重复,考虑空间利用率问题
- 输出有序数组的中两个元素差值为指定值diff的两个元素
- 合并两个数组并删除重复的元素
- 24、合并两个无序数组,并把合并后的升序数组写入到a.txt中,降序数组写入到b.txt中。要求去掉重复元素
- 两个有序数组合并找第k个元素
- 合并两个集合元素:遵循集合元素不重复的原则,已经存在的元素不再插入
- java将两个有序数组合并成一个有序数组
- C++ - 不重复地输出升序数组中的元素
- 获取两个整型数组之间的重复元素集合
- 输入两个数列,分别以某数为结束标志,分别生成递增有序单链表;再将这两个表合并为一个递增有序单链表,输出表中各结点的值