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);
    }
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:22
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-09 11:30
找工作7个月,投了7000封,3段世界五百强实习,才有一个offer,牛油们肯定比我强吧
码农索隆:不对不对不对,实习经历这么厉害,简历也没少投,问题出在哪呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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