File tree Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Expand file tree Collapse file tree 1 file changed +16
-0
lines changed Original file line number Diff line number Diff line change 119
119
120
120
JavaScript:
121
121
``` javascript
122
+ // 方法一:使用数组记录元素出现次数
122
123
var uniqueOccurrences = function (arr ) {
123
124
const count = new Array (2002 ).fill (0 );// -1000 <= arr[i] <= 1000
124
125
for (let i = 0 ; i < arr .length ; i++ ){
@@ -134,6 +135,21 @@ var uniqueOccurrences = function(arr) {
134
135
}
135
136
return true ;
136
137
};
138
+
139
+ // 方法二:使用Map 和 Set
140
+ /**
141
+ * @param {number[]} arr
142
+ * @return {boolean}
143
+ */
144
+ var uniqueOccurrences = function (arr ) {
145
+ // 记录每个元素出现次数
146
+ let map = new Map ();
147
+ arr .forEach ( x => {
148
+ map .set (x, (map .get (x) || 0 ) + 1 );
149
+ })
150
+ // Set() 里的元素是不重复的。如果有元素出现次数相同,则最后的set的长度不等于map的长度
151
+ return map .size === new Set (map .values ()).size
152
+ };
137
153
```
138
154
139
155
-----------------------
You can’t perform that action at this time.
0 commit comments