题目描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
ac代码:
1 //num1,num2分别为长度为1的数组。传出参数 2 //将num1[0],num2[0]设置为返回结果 3 import java.util.HashMap; 4 import java.util.Map; 5 public class Solution { 6 public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { 7 8 Map<Integer,Integer>map=new HashMap<Integer,Integer>(); 9 int x; 10 int t=0; 11 for(int i=0;i<array.length;i++){ 12 x=array[i]; 13 if(map.containsKey(x)){ 14 map.put(x,map.get(x)+1); 15 }else 16 map.put(x,1); 17 } 18 for(int i=0;i<array.length;i++){ 19 x=array[i]; 20 if(map.get(x)==1){ 21 if(t==0){ 22 num1[0]=x; 23 t++; 24 }else{ 25 num2[0]=x; 26 break; 27 } 28 29 } 30 } 31 } 32 }