其他分享
首页 > 其他分享> > LeetCode 10.28每日一题1207. 独一无二的出现次数【简单】

LeetCode 10.28每日一题1207. 独一无二的出现次数【简单】

作者:互联网

题目链接:https://leetcode-cn.com/problems/unique-number-of-occurrences/

题目思路:使用map和set。

/**
 * @param {number[]} arr
 * @return {boolean}
 */
var uniqueOccurrences = function(arr) {
    var map=new Map();
    for(var i=0;i<arr.length;i++){
        if(!map.has(arr[i])){
            map.set(arr[i],1)
        }
        else{
            var count=map.get(arr[i])+1;
            map.set(arr[i],count);
        }
    }
    var set=new Set();
    for (let [key, value] of map) {
        if(set.has(value)) {
            return false;
        } else {
            set.add(value);
        }
    }
    return true;
};

执行结果:

 

 题目解法很多,另外一种思路,使用mapNum 存放次数=》数字,比较map和mapNum的个数

/**
 * @param {number[]} arr
 * @return {boolean}
 */
var uniqueOccurrences = function(arr) {
    var map=new Map();
    var mapNum=new Map();
    for(var i=0;i<arr.length;i++){
        if(!map.has(arr[i])){
            map.set(arr[i],1)
        }
        else{
            map.set(arr[i],map.get(arr[i])+1);
        }
    }
    for (let [key, value] of map) {
        mapNum.set(value, key)
    }
    return map.size === mapNum.size

};

 

标签:map,arr,Map,10.28,1207,number,var,new,LeetCode
来源: https://www.cnblogs.com/liangtao999/p/13895602.html