剑指Offer——数组中只出现一次的数字
1、题目描述
一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
2、代码实现
//num1,num2分别为长度为1的数组。传出参数 //将num1[0],num2[0]设置为返回结果 public class Solution { public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { java.util.HashMap<Integer, Integer> hm = new java.util.HashMap<>(); java.util.ArrayList<Integer> arrayList = new java.util.ArrayList<>(); for (int i = 0, j = 0; i < array.length; i++) { if (hm.containsKey(array[i])) { hm.put(array[i], 2); } else { hm.put(array[i], 1); } } for (int i = 0; i < array.length; i++) { if (hm.get(array[i]) == 1) { arrayList.add(array[i]); } } num1[0] = arrayList.get(0); num2[0] = arrayList.get(1); } }