华为-删除字符串中出现次数最少的字符
(java实现)
题目描述:
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
注意每个输入文件有多组输入,即多个字符串用回车隔开
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
示例1:
输入
abcdd aabcddd
输出
dd aaddd
问题分析:
略
相关知识:
略
参考代码:
思路一实现:
import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
while (input.hasNext())
{
String line = input.nextLine();
char[] ch = line.toCharArray();
int[] arr = new int[26];
for (int i=0; i<ch.length; i++)
{
arr[ch[i]-'a']++;
}
int min = 200;
for (int i=0; i<26; i++)
{
if (arr[i]>0 && arr[i]<min)
min = arr[i];
}
String res = "";
for (int i=0; i<ch.length; i++)
{
if (min != arr[ch[i]-'a'])
res += ch[i];
}
System.out.println(res);
}
}
}思路二实现:

