一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。
数组中只出现一次的数字
http://www.nowcoder.com/questionTerminal/e02fdb54d7524710a7d664d082bb7811
这个可以使用ArrayList来解决,代码比较简洁。
首先判断ArrayList中是否已存在,如果存在,则删除。
删除时需要注意一下,如果直接传入当前数作为参数,它会按照下标进行删除,不会按照对象进行删除,可能会出现越界。
所以需要new Integer()。
public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) { if(array.length < 2){ return; } ArrayList<Integer> list = new ArrayList(); for(int i = 0;i<array.length;i++){ if(list.contains(array[i])){ list.remove(new Integer(array[i])); }else{ list.add(array[i]); } } num1[0] = list.get(0); num2[0] = list.get(1); }
```