题目描述:
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。
输入描述:
字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。
输出描述:
删除字符串中出现次数最少的字符后的字符串。
Collection是集合类的上级接口,继承与他有关的接口主要有List和Set
Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全等操作
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext())
{
String string = scanner.next();
Map<Character, Integer> map = new LinkedHashMap<>();
StringBuffer sb = new StringBuffer();
for (char c: string.toCharArray())
{
if (!map.containsKey(c))
map.put(c, 1);
else
map.put(c, map.get(c) + 1);
}
/*int min = Integer.MAX_VALUE;
for (char c: map.keySet())
{
if (min > map.get(c))
min = map.get(c);
}*/
Collection<Integer> list = map.values();
int min = Collections.min(list);
for (char c: string.toCharArray())
{
if (min != map.get(c))
sb.append(c);
}
System.out.println(sb.toString());
}
}
}
import java.util.*;
public class Main
{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String string = scanner.next();
int[] num = new int[26];
for (char c : string.toCharArray())
num[c - 'a']++;
int min = Integer.MAX_VALUE;
for (int i = 0; i < 26; i++)
{
if (num[i] != 0 && num[i] < min)
min = num[i];
}
for (char c: string.toCharArray())
{
if (num[c - 'a'] != min)
System.out.print(c);
}
System.out.println();
}
}
}