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

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

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

哈希表

这里使用数组代替哈希表,开销更小,性能更好

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        PrintWriter pw = new PrintWriter(System.out);

        char[] arr = br.readLine().toCharArray();
        // 统计每个字母出现的次数
        int[] freq = new int[26];
        for (char c : arr) {
            freq[c - 'a']++;
        }
        // 最小次数
        int minFreq = arr.length;
        for (int f : freq) {
            if (f > 0)
                minFreq = Math.min(minFreq, f);
        }

        for (char c : arr) {
            // 跳过出现次数最少的字符
            if (freq[c - 'a'] == minFreq) {
                continue;
            }
            pw.print(c);
        }
        pw.println();

        pw.flush();
        pw.close();
        br.close();
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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