题解 | #字符串价值#
字符串价值
https://www.nowcoder.com/practice/9f0db60f566c470a91e37162afc52b9c
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String s = sc.nextLine();
int[] a = new int[s.length()];
int sum = 0;
int index = 0;
int k = sc.nextInt();
HashMap<Character,Integer> map = new HashMap<>();
for(int i = 0;i<s.length();i++){
char c = s.charAt(i);
if(map.containsKey(c)){
int v = map.get(c)+1;
map.put(c,v);
a[index] = 2*v - 1;
sum+=a[index];
index++;
}else{
map.put(c,1);
a[index++] = 1;
sum+=1;
}
}
Arrays.sort(a);
index = s.length() - 1;
while(k>0){
k--;
sum -= a[index--];
}
System.out.println(sum);
}
}
腾讯成长空间 5883人发布