diff --git a/problems/1207.独一无二的出现次数.md b/problems/1207.独一无二的出现次数.md index a65b26e6..808ff9f8 100644 --- a/problems/1207.独一无二的出现次数.md +++ b/problems/1207.独一无二的出现次数.md @@ -119,6 +119,7 @@ Go: JavaScript: ``` javascript +// 方法一:使用数组记录元素出现次数 var uniqueOccurrences = function(arr) { const count = new Array(2002).fill(0);// -1000 <= arr[i] <= 1000 for(let i = 0; i < arr.length; i++){ @@ -134,6 +135,21 @@ var uniqueOccurrences = function(arr) { } return true; }; + +// 方法二:使用Map 和 Set +/** + * @param {number[]} arr + * @return {boolean} + */ +var uniqueOccurrences = function(arr) { + // 记录每个元素出现次数 + let map = new Map(); + arr.forEach( x => { + map.set(x, (map.get(x) || 0) + 1); + }) + // Set() 里的元素是不重复的。如果有元素出现次数相同,则最后的set的长度不等于map的长度 + return map.size === new Set(map.values()).size +}; ``` -----------------------