实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 | |
知识点 | 字符串 |
---|---|
运行时间限制 | 0M |
内存限制 | 0 |
输入 | 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。 |
输出 | 删除字符串中出现次数最少的字符后的字符串。 |
样例输入 | abcdd |
样例输出 | dd |
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner in = new Scanner(System.in);
while(in.hasNext()){
String s = in.nextLine();
int[] a = new int[26];
for(int i=0;i<s.length();i++){
a[s.charAt(i)-97]++;
}
int min = 21;
//找出出现最小的次数
for(int i=0;i<26;i++){
if(a[i]<min && a[i]>0){
min = a[i];
}
}
StringBuilder toBeDeleted = new StringBuilder();
for(int i=0;i<26;i++){
if(a[i]==min){
char c = (char)('a'+i);
toBeDeleted.append(c);
}
}
String str = toBeDeleted.toString();
StringBuilder res = new StringBuilder();
for(int i=0;i<s.length();i++){
if(!str.contains(s.charAt(i)+"")){
res.append(s.charAt(i));
}
}
System.out.println(res);
}
}
}