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

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            char[] arr = in.nextLine().toCharArray();
		  //1. 用map 存储 元素 及对应个数
            Map<Character, Integer> map = new HashMap<>();
            for(char c : arr) {
                if(map.containsKey(c)) {
                    map.put(c,map.get(c) + 1);
                } else {
                    map.put(c, 1);
                }
            }
		  //2. 根据map的value排序  得出出现最少的个数
            List<Integer> test = new ArrayList<>();
            for (Integer value : map.values()) {
                test.add(value);
            }
            Collections.sort(test);
            int count = test.get(0);
            
		  // 遍历数组 排除最少个数的字符
            StringBuilder s = new StringBuilder();
            for(char c : arr) {
                if(map.get(c) != count) {
                    s.append(c);
                }
            }
            System.out.println(s.toString());
        }
    }
}

全部评论

相关推荐

SHC2:关键问题是你这三段实习是三个不同的岗位…你这样子秋招就是只有一段实习的本科生..
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务