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