从两个数组查找相同的元素(使用最少的循环次数)
两个数组都是无序的
1. 先排序
2. 循环最短的数组。
3. 二分查找法找交集。
- public static void main(String arg[]) {
- int[] array_1 = new int[] { 1, 2, 4 };
- int[] array_2 = new int[] { 5, 7, 2, 3, 6, 9, 1, 3 };
- Arrays.sort(array_1);
- Arrays.sort(array_2);
- int len = array_1.length;
- for (int i = 0; i < len; i++) {
- if (Arrays.binarySearch(array_2, array_1[i]) >= 0) {
- System.out.println(array_1[i]);
- }
- }
复制代码 |
|