Java-刪除最少字符
題目描述
刪除字符串中出現(xiàn)次數(shù)最少的字符
如果多個字符出現(xiàn)次數(shù)一樣則都刪除
輸入描述
輸入只包含小寫字母
輸出描述
輸出刪除后剩余的字符
若刪除后字符串長度為0,則輸出empty
示例一
輸入
abcdd
輸出
dd
示例二
輸入
aabbccdd
輸出
empty
參考解題 Java
import java.util.*;
ublic class Main{
?public static void main(String[] args) {
? ?try (Scanner scanner = new Scanner(System.in)) {
? ? ?String line = scanner.nextLine();
? ? ?solution(line);
? ?}
?}
?private static void solution(String line) {
? ?HashMap<Character, Long> map = new HashMap<>();
? ?for (char c : line.toCharArray()) {
? ? ?map.put(c, map.containsKey(c) ? map.get(c) + 1 : 1L);
? ?}
? ?Long[] counts = new Long[map.values().size()];
? ?Long[] longs = map.values().toArray(counts);
? ?Arrays.sort(longs);
? ?Long min = longs[0];
? ?for (Map.Entry<Character, Long> entry : map.entrySet()) {
? ? ?if (entry.getValue().equals(min)) {
? ? ? ?line = line.replaceAll(entry.getKey() + "", "");
? ? ?}
? ?}
? ?System.out.println(line.length() == 0 ? "empty" : line);
?}
}
標(biāo)簽: