题解 | 删除字符串中出现次数最少的字符
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
不是简单的方法,用到数组哈希,不知道string用replace也能删除
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String str = in.next();
StringBuffer sb = new StringBuffer(str);
int[] arr = new int[26];
for(char ch: str.toCharArray()) {
arr[ch-'a']++;
}
int min =Integer.MAX_VALUE;
for(int num: arr) {
if(num>0){
min = num<min ? num : min;
}
}
List<Character> list = new ArrayList<>();
for(int i = 0; i < arr.length;i++) {
if(arr[i] == min) {
list.add((char)(i+97));
}
}
for(int i = 0; i < sb.length();){
char ch = sb.charAt(i);
if(list.contains(ch)) {
sb.deleteCharAt(i);
}else{
i++;
}
}
System.out.println(sb.toString());
}
}
