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

全部评论

相关推荐

不愿透露姓名的神秘牛友
今天 18:05
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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