用最少的循環次數求出兩個數組中的相同元素
分析:用容器來解決。將這兩個數組分別放在兩個ArrayList中,再調用ArrayList的retainAll方法即可。
A.retainAll(B):從A集合中刪除B集合中不包含的元素.
實現代碼如下:
package com.miaojian.li;
import java.util.ArrayList;
import java.util.Collection;
public class FindFromArray {
public static void main(String[] args) {
int[] array1={1,2,3,4,5,6,7};
int[] array2={2,4,6,8,10,1};
Collection c1=new ArrayList();
Collection c2=new ArrayList();
for(int i=0;i<array1.length;i++) //將array1添加到c1中
{
c1.add(array1[i]);
}
for(int i=0;i<array2.length;i++) //將array2添加到c2中
{
c2.add(array2[i]);
}
c1.retainAll(c2); //從c1集合中刪除c2集合中不包含的元素
System.out.println(c1);
}
}
因此總的循環次數是M+N
結果如下 :
posted @ 2012-10-30 22:34 天鷹之翼 閱讀(318) | 評論 (1) | 編輯 收藏