题目描述
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
示例1
输入
abcdd
输出
dd
实现代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
String str = sc.nextLine();
deleteLeastString(str);
}
}
public static void deleteLeastString(String str){
char[] chArray = new char[26];
for(int i=0;i<str.length();i++){
chArray[str.charAt(i)-'a'] +=1;
}
int min = 1;
for(int i=1;i<26;i++){
if(chArray[i]<min && chArray[i]!=0){
min = chArray[i];
}
}
for(int i=0;i<str.length();i++){
if(chArray[str.charAt(i)-'a'] > min){
System.out.print(str.charAt(i));
}
}
System.out.println();
}
}