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

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

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;
    }
}

这题应该算为简单才对

全部评论

相关推荐

积极的小学生不要香菜:你才沟通多少,没500不要说难
点赞 评论 收藏
分享
05-07 17:58
门头沟学院 Java
wuwuwuoow:1.简历字体有些怪怪的,用啥写的? 2.Redis 一主二从为什么能解决双写一致性? 3.乐观锁指的是 SQL 层面的库存判断?比如 stock > 0。个人认为这种不算乐观锁,更像是乐观锁的思想,写 SQL 避免不了悲观锁的 4.奖项证书如果不是 ACM,说实话没什么必要写 5.逻辑过期时间为什么能解决缓存击穿问题?逻辑过期指的是什么 其实也没什么多大要改的。海投吧
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务