import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Map<Character, Integer> countMap = new LinkedHashMap<>(); String inputStr = scanner.nextLine(); char[] charArr = inputStr.toCharArray(); for (char c : charArr) { Integer count = countMap.get(c); if (count == null) { count = 0; } count++; countMap.put(c, count); } List<Integer> integerList = new ArrayList<>(countMap.values()); int min = integerList.get(0); for (int i = 1; i < integerList.size(); i++) { int num = integerList.get(i); if (num < min) { min = num; } } List<Character> resultChars = new ArrayList<>(); Set<Map.Entry<Character, Integer>> entrySet = countMap.entrySet(); for (Map.Entry<Character, Integer> entry : entrySet) { Character key = entry.getKey(); Integer value = entry.getValue(); if (min != value.intValue()) { resultChars.add(key); } } StringBuilder stringBuilder = new StringBuilder(); for (char c : charArr) { if (resultChars.contains(c)) { stringBuilder.append(c); } } System.out.println(stringBuilder); } }
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。