题解 | 删除字符串中出现次数最少的字符

import java.util.*;
import java.util.HashMap;
import java.util.stream.Collectors;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        
            String str = in.nextLine();
            Map<String,Long> charCnt=Arrays.stream(str.split("")).collect(Collectors.groupingBy(s>s,Collectors.counting()));
            Map<Long,Set<String>> cntMap=charCnt.entrySet().stream().collect(Collectors.groupingBy(entry->entry.getValue(),Collectors.mapping(entry->entry.getKey(),Collectors.toSet())));
           Optional<Map.Entry<Long,Set<String>>> o1= cntMap.entrySet().stream().min(Map.Entry.comparingByKey());
           Set<String> min=o1!=null?o1.get().getValue():new HashSet<>();
           for(String s:min){
            str=str.replace(s,"");
           }
            System.out.println(str);
    }
}

全部评论

相关推荐

快点约我面试吧
投递百度等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务