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

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

https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9

// 本题为考试多行输入输出规范示例,无需提交,不计分。

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String line = in.nextLine();
        String[] split = line.split("");
        HashMap<String, Integer> map = new HashMap<>();
	    // 将字符数量统计到HashMap里 
        for (String s : split) {
            if (!map.containsKey(s)) {
                map.put(s, 1);
            } else {
                map.put(s, map.get(s) + 1);
            }
        }
	  	// 用TreeSet自动去重并排序
        Set<Integer> set = new TreeSet<>();
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            set.add(entry.getValue());
        }
        ArrayList<Integer> list = new ArrayList<>(set);
	  	// 获得最小的字符数量
        int integer = list.get(0);
        for (String s : split) {
            if (map.get(s) != integer) {
			  	// 过滤掉字符数量最小的字符
			  	System.out.print(s);
            }
        }
    }
}

#刷题#
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务