有两个数组a{1,5,8,10,14,15,17,18,20,22,24,25,28}和b{2,4,6,8,10,12},如何求出他们之间的交集?要求效率越高越好
注:数组都是从小到大排序好的
- while(i<a.length && j < b.length) {
- if(a[i] < b[j]) {
- i++;
- }
- else if (a[i] == b[j]) {
- 输出这个元素;
- i++;
- j++;
- }
- else {
- j++;
- }
- }
懒人写法
- int[] a = {1,5,8,10,14,15,17,18,20,22,24,25,28};
- int[] b = {2,4,6,8,10,12};
- List list = new ArrayList(Arrays.asList(a));
- list.retainAll(Arrays.asList(b)); // list 中的就是交集了.