查找三个数组中的共有元素
2014-12-12 13:07
127 查看
public static List<Integer> findCommonElements( int[] a, int [] b, int [] c) { List<Integer> list = newArrayList<Integer>(); int i = 0, j = 0, k = 0; while (i < a.length && j < b. length && k < c. length ) { if (a[i] == b[j] && b[j] == c[k]) { list.add(a[i]); i++; j++; k++; } else { int max = max(a[i], b[j], c[k]); while (i < a.length && a[i] < max) i++; while (j < b.length && b[j] < max) j++; while (k < c.length && c[k] < max) k++; } } return list; } //还可类推至两个数组,多个数组。
相关文章推荐
- c语言心得-----数组中对元素的操作排序,查找,插入,和删除
- 设计一个模板类Sample,用于对一个有序数组采用二分法查找元素下标
- js中查找最近的共有祖先元素的实现代码
- 网新恒天笔试题,有两个整形数组A和B,请编程去除这两个数组间的交集。若有相同元素,则在相同元素较多的数组中保留它。例如,数组A有三个1,数组B有两个1,程序将删除数组B中的两个1.
- 关于查找数组中最小的k个元素的解答、updated
- 二分法的应用----------利用随机类生成数组,并用二分法对数组的元素进行查找以及插入操作
- 在排序的数组中二分查找一个元素,返回在数组中它第一次出现的位置
- 二分查找(数组里查找某个元素) php php 二分查找
- 在旋转后的有序数组中查找元素,要求O(logn)的时间复杂度
- 用二分法在一个数组中查找你所需元素
- 11-C#对数组中的元素进行查找,清除
- 三个数组的共同元素
- 二分查找binsearch: 在v[0]&lt;=v[1]&lt;=v[2]&lt;=......&lt;=v[n-1]中查找x,数组v的元素必须以升序排列
- 查找最近的共有祖先元素
- C语言中查找数组中的元素(WIN)
- 如何查找到两个数组中不相同的元素.
- 面试题精选(75):经过旋转的有序数组中的元素查找(要求复杂度为O(lgn))
- 八、使用泛型的 TArray 从动态数组中查找指定元素
- 关于查找数组中最小的k个元素的解答、updated
- 有一个数组,存储的元素为1到10000000的任意数,在其中查找出一个重复的数字