【剑指Offer】II-数组中数字出现的次数 II

2020-09-16 09:49:39 浏览数 (1)

题目:

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

示例 1:

代码语言:javascript复制
输入:nums = [3,4,3,3]
输出:4

示例 2:

代码语言:javascript复制
输入:nums = [9,1,7,9,7,9,7]
输出:1

题解:

题解暂时性略,后期想到了再来写吧,吐槽一下自己,看了看别的大佬们都在用 “位运算”来解决这道题,而 自己 Map都是那种一知半解。。。

代码:

代码语言:javascript复制
class Solution {
    public int singleNumber(int[] nums) {
        Map<Integer,Integer> result  = new HashMap<Integer,Integer>();

        for (int num : nums) {
           int count =  result.getOrDefault(num,0)   1;
            result.put(num,count);
        }

        for (Map.Entry<Integer,Integer> entry : result.entrySet()) {
            if (entry.getValue() == 1) {
                return entry.getKey();
            }
        }
        return 0;
    }
}

0 人点赞