题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
1、Java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
public class Solution {
public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
int len=array.length;
Map map=new HashMap();
for(int i=0;i<len;i++){
int item = array[i];
Object obj=map.get(item);
if(obj==null){
map.put(item,1);
}else{
Integer cnt= (Integer)obj;
map.put(item,cnt+1);
}
}
List list=new ArrayList<Integer>();
for(Object key:map.keySet()){
int cnt= (int) map.get(key);
if(cnt==1){
list.add(key);
}
}
num1[0]=(Integer) list.get(0);
num2[0]=(Integer) list.get(1);
}
}