题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
http://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
import java.util.*;
import java.lang.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s=sc.nextLine();
int n=s.length();
Map<Character,Integer> map=new HashMap<>();
//保存出现的字符以及每一个字符出现的次数
for(int i=0;i<n;i++){
map.put(s.charAt(i),map.getOrDefault(s.charAt(i),0)+1);
}
//记录出现次数最小的单词
int minCount=Integer.MAX_VALUE;
//遍历map找到出现次数最小的单词的次数
for(Map.Entry<Character,Integer> entry:map.entrySet()){
if(entry.getValue()<minCount){
minCount=entry.getValue();
}
}
//用于拼接字符串
StringBuilder sb=new StringBuilder();
for(int i=0;i<n;i++){
//所有不是出现最小次数的字符拼接字符串输出
if(map.get(s.charAt(i))!=minCount){
sb.append(s.charAt(i));
}
}
System.out.println(sb.toString());
}
}
}