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

时间:2022-07-25
本文章向大家介绍【剑指Offer】II-数组中数字出现的次数 II,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

题目:

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

示例 1:

输入:nums = [3,4,3,3]
输出:4

示例 2:

输入:nums = [9,1,7,9,7,9,7]
输出:1

题解:

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

代码:

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