题解 | #删除字符串中出现次数最少的字符#
删除字符串中出现次数最少的字符
https://www.nowcoder.com/practice/05182d328eb848dda7fdd5e029a56da9
char + "" ---> String
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); Map<Character, Integer> map = new HashMap<>(); List<Integer> list = new ArrayList<>(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < str.length(); i++) { char ch = str.charAt(i); if (map.get(ch) == null) { map.put(ch, 1); } else { map.put(ch, map.get(ch) + 1); } } for (Map.Entry<Character, Integer> entry : map.entrySet()) { list.add(entry.getValue()); } //获取出现最小的次数 Integer min = Collections.min(list); //获取最小次数的字符集 for (Map.Entry<Character, Integer> entry : map.entrySet()) { if (entry.getValue() == min) { sb.append(entry.getKey()); } } String minStr = sb.toString(); //删除 for (int i = 0; i < minStr.length(); i++) { str = str.replace(minStr.charAt(i) + "", ""); } System.out.println(str); } }