本文共 575 字,大约阅读时间需要 1 分钟。
14给出了我认为最简单的算法,不过其犯了一点点小错误,我修正了。 - public static void test() {
- int[] a = { 2, 3, 4, 4, 4, 4, 7, 8, 8, 8, 8, 9, 100, 130, 150, 160 };
- int[] b = { 4, 6, 7, 7, 7, 7, 8, 8, 9, 10, 100, 130, 130, 140, 150 };
- int i = 0, j = 0;
- ArrayList<Integer> al = new ArrayList<Integer>();
- while (i < a.length && (j < b.length)) {
- if (a[i] < b[j])
- i++;
- else if (a[i] > b[j])
- j++;
- else {
- al.add(a[i]); // 这里应该先加入,然后再加1
- i++;
- j++;
- }
- }
- System.out.println(al);
- }
运行结果为 [4, 7, 8, 8, 9, 100, 130, 150] 如果不允许重复,则使用TreeSet就行了。 - TreeSet<Integer> al = new TreeSet<Integer>();
运行结果 [4, 7, 8, 9, 100, 130, 150] 转载地址:http://icrgi.baihongyu.com/