From dd4515a68b4e4f32b473b72c475ee7099520fd31 Mon Sep 17 00:00:00 2001 From: Luo <82520819+Jerry-306@users.noreply.github.com> Date: Tue, 12 Oct 2021 14:50:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=201207=20=E7=8B=AC=E4=B8=80?= =?UTF-8?q?=E6=97=A0=E4=BA=8C=E7=9A=84=E5=87=BA=E7=8E=B0=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=20JavaScript=E7=89=88=E6=9C=AC=20=E4=BD=BF=E7=94=A8=E5=93=88?= =?UTF-8?q?=E5=B8=8C=E8=A1=A8=E5=92=8C=E9=9B=86=E5=90=88=E7=9A=84=E8=A7=A3?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/1207.独一无二的出现次数.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 +}; ``` -----------------------