Java语言使用HashMap遍历实现

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

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

此题需要统计字符串中某个字符出现的个数并且技术,同时输出删除某个特定字符后的字符串,首先想到使用HashMap进行计数并且调用String对象的replaceAll()方法来完成字符串生成,Java代码如下

public class Algorithm {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        HashMap<Character, Integer> hm = new HashMap<>();
        String input = sc.nextLine();
        for (char c : input.toCharArray()){
            hm.put(c, hm.getOrDefault(c, 0) + 1);
        }
        int min = Integer.MAX_VALUE;
        for (Map.Entry<Character, Integer> me : hm.entrySet()){
            if (me.getValue() < min){
                min = me.getValue();
            }
        }
        for (Map.Entry<Character, Integer> me2 : hm.entrySet()){
            if (me2.getValue() == min){
                input = input.replaceAll(me2.getKey().toString(), "");
            }
        }
        System.out.println(input);
    }
}

全部评论

相关推荐

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