本帖最后由 ◇半度微凉 于 2011-12-10 11:11 编辑
如果说想要最有效,最高效的话,可以直接使用java已经提供的Arrays.sort(); 对数组进行排序, 然后再遍历数组,再把一个数组的元素在另外一个数组中2分查找,找到的元素就是两个数组的交集部分!
代码可以这样写:
int arr1[]={0,45,8,97,9,8·····};//数组arr1,里面1000个元素
int arr2[]={0,45,8,9,7,9,·····};//数组arr2,里面1000个元素
Arrays.sort(arr1);
Arrays.sort(arr2);
int len = arr1.length
for (int i = 0; i < len; i++)
{
if (Arrays.binarySearch(arr2, arr1) != -1) //使用java提供的二元查找法 对数组元素进行查找 比较高效
System.out.print (arr1);
}
|