40.数组中有没有两次的数,怎么找出来

一个整型数组里除了两个数字之外,其他的数字都出现了两次。

请写程序找出这两个只出现一次的数字。

算法从开始到放弃,为做题而刷题了……

javaApi真香……

思路:有重复删除,直至没有重复,取出keyset;

//num1,num2分别为长度为1的数组。传出参数
//将num1[0],num2[0]设置为返回结果
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class Solution {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
        Map<Integer, Integer> hashmap = new HashMap<>();
        
        for(int i = 0; i < array.length; i++) {
            if(hashmap.get(array[i]) == null) {
                hashmap.put(array[i],1);
            }else {
                hashmap.remove(array[i]);
            }
        }
        Object[] array2 = hashmap.keySet().toArray();
        
        num1[0] = (int)array2[0];
        num2[0] = (int)array2[1];
    }
}
原文地址:https://www.cnblogs.com/wzQingtTian/p/10666762.html