题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.Scanner; import java.io.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str; while((str = br.readLine()) != null){ //判断字符串中字符出现的次数,可以创建一个长度为26的int类型的数组 char[] chars = str.toCharArray(); int[] count = new int[26]; //遍历char型数组中的元素 for(int i = 0;i < chars.length;i++){ count[chars[i] - 'a']++; } //求出count[]中的元素的最小值,该值即为字符出现的最小次数 //判断最小值,引入一个变量min 循环遍历这个数组,使用if进行判断求出最小值 int min = Integer.MAX_VALUE; for(int i : count){ if(i > 0 && i < min) min = i; } //输出删除出现次数最小的字符后的字符串 StringBuilder sb = new StringBuilder(); //遍历字符数组,取出现次数不等于最小值的部分拼接一起 for(char c : chars){ if(count[c - 'a'] != min) sb.append(c); } System.out.println(sb); } } }