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

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

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

具体都有注解啦,就不过多阐述了。有问题可评论讨论。(另外:欢迎来笔者的掘金来交流哦~ 南方者 https://juejin.cn/user/2840793779295133/posts
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) throws Exception{
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String str = sc.nextLine();
            int[] nums = new int[26]; // 26个小写字母,记录对应的值
            for (char ch : str.toCharArray()) {
                nums[ch - 'a']++;
            }
            int min = 20; // 找最小值
            for (int i = 0; i < nums.length; i++) {
                if (nums[i] == 0) { // 去掉没有0的
                    continue;
                }
                if (min > nums[i]) { // 找到最少出现的字符数
                    min = nums[i];
                }
            }
            String minSameChar = "";
            for (int i = 0; i < nums.length; i++) {
                if (min != nums[i]) { // 不符合最少出现的字符数就跳过
                    continue;
                }
                minSameChar += (char) (i + 'a'); // 记录最少出现次数的字符
            }
            // System.out.println(minSameChar);
            for (char ch : str.toCharArray()) {
                if (minSameChar.contains(ch + "")) { // 判断当前字符是否在最少出现次数的字符集合里
                    continue;
                }
                System.out.print(ch);
            }
        }
    }
}



#笔试刷题##华为笔试#
全部评论

相关推荐

ArisRobert:统一解释一下,第4点的意思是,公司按需通知员工,没被通知到的员工是没法去上班的,所以只要没被通知到,就自动离职。就是一种比较抽象的裁员。
点赞 评论 收藏
分享
10-31 14:54
已编辑
门头沟学院 算法工程师
点赞 评论 收藏
分享
评论
3
1
分享
牛客网
牛客企业服务