Skip to content

Commit 839bf4b

Browse files
authored
Create 1647-minimum-deletions-to-make-character-frequencies-unique.js
1 parent 8ee8642 commit 839bf4b

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
const minDeletions = function(s) {
6+
if (s == null || s.length <= 1) {
7+
return 0;
8+
}
9+
10+
const map = new Map();
11+
for (let ch of s) {
12+
map.set(ch, (map.get(ch) || 0) + 1);
13+
}
14+
15+
16+
const frequencies = new Set();
17+
let minDeletions = 0;
18+
19+
const vals = map.values()
20+
for (let frequency of vals) {
21+
if (!frequencies.has(frequency)) {
22+
frequencies.add(frequency);
23+
continue;
24+
}
25+
26+
let curr = frequency;
27+
while (curr > 0 && frequencies.has(curr)) {
28+
curr--;
29+
minDeletions++;
30+
}
31+
32+
if (curr > 0) {
33+
frequencies.add(curr);
34+
}
35+
}
36+
37+
return minDeletions;
38+
};

0 commit comments

Comments
 (0)