题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
统计输入的字符串中的个元素的出现次数,然后找map中value最小的,记录为min;
遍历输入的字符串,并从map中找到它出现的次数,如果出现的次数大于min,就用StringBuffer拼接起来即可;
最终输出StringBuffer.toString();即可。
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
StringBuffer sb = new StringBuffer();
Map<Character,Integer> map = new HashMap<>();
for(char c:str.toCharArray()){
if(!map.containsKey(c)) map.put(c,1);
else map.put(c,map.get(c)+1);
}
int min = 20;
for(int n:map.values()){
if(n < min) min = n;
}
for(char c:str.toCharArray()){
if(map.get(c)>min) sb.append(c);
}
System.out.print(sb.toString());
}
}
查看17道真题和解析