题解 | #字符串价值#
字符串价值
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); } }