HJ23 删除字符串中出现次数最少的字符
描述
实现删除字符串中出现次数最少的字符,若出现次数最少的字符有多个,则把出现次数最少的字符都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
示例1
输入:
aabcddd
输出:
aaddd
法一
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(less(str));
}
public static String less(String str) {
StringBuilder sb = new StringBuilder();
HashMap<Character, Integer> hs = new HashMap<>();
for (int i = 0 ; i < str.length() ; i++) {
hs.put(str.charAt(i), hs.getOrDefault(str.charAt(i), 0) + 1);
}
int min = Integer.MAX_VALUE;
for (int times : hs.values()) {
min = Math.min(min, times);
}
for (char ch : str.toCharArray()) {
if (hs.get(ch) != min) {
sb.append(ch);
}
}
return sb.toString();
}
}