题解 | #数组中只出现一次的两个数字#

数组中只出现一次的两个数字

https://www.nowcoder.com/practice/389fc1c3d3be4479a154f63f495abff8

import java.util.*;
public class Solution {
    public int[] FindNumsAppearOnce (int[] array) {
        int len = array.length;
        int[] resArr = new int[2];
        if (len == 0) return resArr;
        HashMap<Integer, String> map = new HashMap<>();
        for (int a : array) {
            if (!map.containsKey(a))
                map.put(a, "one");
            else map.replace(a, "vans");
        }
        Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
        Iterator<Map.Entry<Integer, String>> iterator = entrySet.iterator();
        int index = 0;
        while (iterator.hasNext()) {
            Map.Entry<Integer, String> entry = iterator.next();
            if (entry.getValue().equals("one")) {
                resArr[index++] = entry.getKey();
            }
        }
        if (resArr[0] > resArr[1]) {
            int temp = resArr[0];
            resArr[0] = resArr[1];
            resArr[1] = temp;
        }
        return resArr;
    }
}

这题应该算为简单才对

全部评论

相关推荐

评论
点赞
收藏
分享
牛客网
牛客企业服务