第一次,样例全过代码,比较乱,勿喷 import java.util.*; public class Exam1 { public static void main(String[] args) { Scanner in = new Scanner(System.in); Map<Character,Integer> characterMap=new HashMap<>(); while (in.hasNextLine()) { String s = in.nextLine(); //字符串s 1<=length<=50 int k = in.nextInt(); //允许移除的字符个数 0<=k<=length for(int i=0;i<s.length();i++) { char c=s.charAt(i); //Integer integer = characterMap.putIfAbsent(c, 1); if(characterMap.get(c)==null) { characterMap.put(c, 1); } else { characterMap.put(c,characterMap.get(c)+1); } } List<Integer> values=new ArrayList<>(); for(Object key:characterMap.keySet()) { values.add(characterMap.get(key)); } Collections.sort(values); Integer [] valuesArr=new Integer[values.size()]; for(int n=0;n<values.size();n++) { valuesArr[n]=values.get(n); } for(int m=0;m<k;m++) { for(int j=valuesArr.length-1;j>0;j--) { if(valuesArr[j]>valuesArr[j-1]) { valuesArr[j]--; break; } else { if(j==1) { valuesArr[0]--; }else continue; } } } long count=0; for(int i=0;i<valuesArr.length;i++) { count+=valuesArr[i]*valuesArr[i]; } System.out.println(count); } } }
点赞 评论

相关推荐

04-22 15:13
已编辑
Java
点赞 评论 收藏
分享
牛客网
牛客企业服务