javaは配列の中で一回だけの数字を探します。
2612 ワード
タイトル:
, 。 。
アルゴリズムは以下の通りですimport java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
//num1,num2 1 。
// num1[0],num2[0]
public class Solution {
public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
if(array.length<2){
num1[0] = 0;
num2[0] = 0;
return ;
}
Map map = new HashMap();
for(int i=0;i<array.length;i++){
Set keys = map.keySet();
if(keys.contains(array[i])){
map.remove(array[i]);
}else{
map.put(array[i],1);
}
}
Set keys = map.keySet();
Iterator iter = keys.iterator();
int[] a = new int[keys.size()];
for(int i=0;iter.hasNext();i++){
a[i] = (int) iter.next();
}
num1[0] = a[0];
num2[0] = a[1];
}
}