一开始想用arr[128]对应各个字符,数组的值就是出现次数。发现实现char字符与arr[i]对应很麻烦,参考了别人的思路就换成HashMap实现。
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String str = in.nextLine();
Map<Character, Integer> map = new HashMap<>();
for (char ch : str.toCharArray()) {
map.put(ch, map.getOrDefault(ch, 0) + 1);
}
int min = Integer.MAX_VALUE;
for (int i : map.values()) {
min = Math.min(min, i);
}
StringBuilder builder = new StringBuilder();
for (char ch : str.toCharArray()) {
if (min != map.get(ch)) {
builder.append(ch);
}
}
System.out.println(builder.toString());
}
}
}