剑指 Offer 56 - II. 数组中数字出现的次数 II(中等|JS|Map)

一、题目描述

在这里插入图片描述

二、解题思路

  1. 遍历每个元素,用map记录出现的次数,达到3次时将其从map中删除,最后剩下的就是只出现一次的数字,将其展开成数组后取出来。

三、代码实现

var singleNumber = function(nums) {
    
    
    let m = new Map()
    for(let num of nums){
    
    
        if(m.has(num)){
    
    
            let temp = m.get(num) + 1
            m.set(num,temp)
        }else{
    
    
            m.set(num,1)
        }
        if(m.get(num)==3) m.delete(num)
    }
    return [...m][0][0]
};

猜你喜欢

转载自blog.csdn.net/weixin_40764047/article/details/111318636
今日推荐