题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
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()); } }