剑指Offer LeetCode 面试题56 - II. 数组中数字出现的次数 II

   日期:2020-05-30     浏览:136    评论:0    
核心提示:剑指Offer LeetCode 面试题56 - II. 数组中数字出现的次数 II面试

# 面试题56 - II. 数组中数字出现的次数 II
在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

示例 1:

输入:nums = [3,4,3,3]
输出:4
示例 2:

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

限制:

1 <= nums.length <= 10000
1 <= nums[i] < 2^31

解题

hashMap解法,计算出现的次数,返回为1的

class Solution {
    public int singleNumber(int[] nums) {
        
       Map<Integer,Integer> map = new HashMap<>();

        for(int i=0;i<nums.length;i++){
            map.put(nums[i],map.containsKey(nums[i])?map.get(nums[i])+1:1);
        }

        for (Integer key:map.keySet()){
            if(map.get(key)==1){
                return key;
            }
        }

        return -1;

    }
}
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服