题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
char[] arr = in.nextLine().toCharArray();
//1. 用map 存储 元素 及对应个数
Map<Character, Integer> map = new HashMap<>();
for(char c : arr) {
if(map.containsKey(c)) {
map.put(c,map.get(c) + 1);
} else {
map.put(c, 1);
}
}
//2. 根据map的value排序 得出出现最少的个数
List<Integer> test = new ArrayList<>();
for (Integer value : map.values()) {
test.add(value);
}
Collections.sort(test);
int count = test.get(0);
// 遍历数组 排除最少个数的字符
StringBuilder s = new StringBuilder();
for(char c : arr) {
if(map.get(c) != count) {
s.append(c);
}
}
System.out.println(s.toString());
}
}
}
