欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛客题霸 数组中只出现一次的数字

程序员文章站 2022-03-08 15:49:34
...

解题思路

使用一个HashMap作为辅助,遍历数组,如果该元素不存在HashMap中,则把数字作为键插入HashMap(值随意);如果该元素存在HashMap中,则删除该数据。最后HashMap中剩余的2个数据就是仅为出现一次的数据。

public class Solution {
    public void FindNumsAppearOnce(int [] array,int num1[] , int num2[]) {
        

        HashMap<Integer,Integer> myMap = new HashMap<>();
        for(int i : array){
            if(myMap.containsKey(i)){
                myMap.remove(i);
            }else{
                myMap.put(i,0);
            }
        }
        ArrayList<Integer> temp = new ArrayList<>();
        // 遍历hashMap
        for(Map.Entry<Integer,Integer> enpty : myMap.entrySet()){
            temp.add(enpty.getKey());
        }
        num1[0] = temp.get(0);
        num2[0] = temp.get(1);

        return;
    }
}
相关标签: Java 算法