题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.Scanner;
import java.util.Map;
import java.util.HashMap;
import java.lang.Character;
// 注意类名必须为 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
String a = in.nextLine();
System.out.println(solution(a));
}
}
public static String solution(String str) {
Map<Character, Integer> countMap = new HashMap<>();
for (int i = 0; i < str.length(); i++) {
char cha = str.charAt(i);
Integer count = countMap.get(cha);
if (null == count) {
countMap.put(cha, 1);
} else {
countMap.put(cha, count+1);
}
}
Integer min = null;
for (Integer val : countMap.values()) {
if (null == min) {
min = val;
} else {
min = val < min ? val : min;
}
}
for (Character cha : countMap.keySet()) {
if (countMap.get(cha).equals(min)) {
str = str.replace(String.valueOf(cha), "");
}
}
return str;
}
}
