美文网首页
剑指 Offer 56 - II. 数组中数字出现的次数 II

剑指 Offer 56 - II. 数组中数字出现的次数 II

作者: BitterOutsider | 来源:发表于2020-11-17 17:53 被阅读0次

    题目描述

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

    解题思路

    • 使用HashMap统计每个数出现的次数,然后遍历,得出值为1的key。
    class Solution {
        public int singleNumber(int[] nums) {
            final HashMap<Integer, Integer> map = new HashMap<>();
            for (int number : nums) {
                if (!map.containsKey(number)) {
                    map.put(number, 1);
                } else {
                    map.put(number, map.get(number) + 1);
                }
            }
            for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
                if (entry.getValue() == 1) {
                    return entry.getValue();
                }
            }
            return -1;
        }
    }
    

    很显然我比较菜


    相关文章

      网友评论

          本文标题:剑指 Offer 56 - II. 数组中数字出现的次数 II

          本文链接:https://www.haomeiwen.com/subject/hvffiktx.html