题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
private static char c = ' ';
private static int count = 99;
private static Map<Character, Integer> map = new HashMap<>();
public static void main(String[] args) {
String s = "";
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
s = in.next();
}
result(s);
}
private static void result(String s) {
int len = s.length();
for (int i = 0;i<len; i++) {
char c = s.charAt(i);
map.put(c, map.getOrDefault(c, 0)+1);
}
map.forEach((k,v) -> {
if(v < count){
count = v;
c = k.charValue();
}
});
Set<Character> set = new HashSet<>();
map.forEach((k,v) -> {
if(v == count){
count = v;
c = k.charValue();
set.add(k);
}
});
for(Character c: set){
s = s.replaceAll(c+"", "");
}
System.out.print(s);
}
}
感觉写的有点复杂
雪域灰灰刷题笔记 文章被收录于专栏
雪域灰灰刷题笔记
阿里云成长空间 763人发布

