题解 | 删除字符串中出现次数最少的字符
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.*;
class Solution {
public void deleteMin(String s) {
//转换成char数组
char[] aChar = s.toCharArray();
//存放
Map<Character,Integer> map = new HashMap<>();
for (char c : aChar) {
map.put(c, map.getOrDefault(c, 0) + 1);
}
//找出最小的键值
int min = Collections.min(map.values());
//使用StringBuilder重新拼接新的字符
StringBuilder sb = new StringBuilder();
for(char a : aChar) {
if(map.get(a) != min) {
sb.append(a);
}
}
System.out.println(sb.toString());
}
}
// 注意类名必须为 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 s = in.nextLine();
Solution solution = new Solution();
solution.deleteMin(s);
}
in.close();
}
}
查看10道真题和解析