题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
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); } } } }