Skip to content

Commit 7edd1be

Browse files
authored
Create 3085-minimum-deletions-to-make-string-k-special.js
1 parent 4c5e057 commit 7edd1be

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* @param {string} word
3+
* @param {number} k
4+
* @return {number}
5+
*/
6+
var minimumDeletions = function(word, k) {
7+
let freq = new Array(26).fill(0);
8+
let deleted = 0;
9+
let ans = word.length;
10+
11+
for (let i = 0; i < word.length; i++) {
12+
freq[word.charCodeAt(i) - 'a'.charCodeAt(0)]++;
13+
}
14+
15+
freq.sort((a, b) => a - b);
16+
17+
for (let i = 0; i < freq.length; i++) {
18+
let res = deleted;
19+
let minFreq = freq[i];
20+
21+
for (let j = freq.length - 1; j > i; j--) {
22+
if (freq[j] - minFreq <= k) {
23+
break;
24+
}
25+
26+
res += freq[j] - minFreq - k;
27+
}
28+
29+
ans = Math.min(ans, res);
30+
deleted += freq[i];
31+
}
32+
33+
return ans;
34+
};

0 commit comments

Comments
 (0)