Minimum Deletions to Make Character Frequencies Unique
给一个字符串, 问删除多少个字符后, 能让所有的字符频率相同.
这个题主要是问删除几个, 而不是哪几个. 而且还只能删除.
class Solution {
public int minDeletions(String s) {
int[] f = new int[26];
for(char c : s.toCharArray()){
f[c - 'a']++;
}
Arrays.sort(f);
int res = 0;
Set<Integer> set = new HashSet<>();
for(int i = 0; i < 26; i++) {
if(f[i] == 0)
continue;
if(!set.contains(f[i]))
set.add(f[i]);
else {
while(set.contains(f[i])){
f[i]--;
res++;
}
if(f[i] != 0)
set.add(f[i]);
}
}
return res;
}
}