在一行上输入一个长度为
,仅由小写字母构成的字符串
,代表待处理的字符串。
在一行上输出一个字符串,代表删除后的答案。保证这个字符串至少包含一个字符。
aabcddd
aaddd
在这个样例中,出现次数最少的字符为
和
,因此需要同时删除这两个字符。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String input=in.nextLine();
char[] chararrs =new char[128];
ArrayList<Integer> al=new ArrayList<>();
for(int i=0;i<input.length();i++){
chararrs[input.charAt(i)]++;//统计各个字符个数
}
int minValue=20;//设置存储最小值
for(int i=0;i<chararrs.length;i++){
if(chararrs[i]==0){
continue;
}else{
if(chararrs[i]<minValue){
minValue=chararrs[i];//找索引靠前的最小值。
}
}
}
for(int i=0;i<chararrs.length;i++){
if(chararrs[i]==minValue){
al.add(i);
}
}//存储字符索引
//最小出现的字符替换
for(int c:al){
input=input.replace((char)c+"","");
}
System.out.println(input);
}
} import java.util.HashMap;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String s = in.nextLine();
int[] freq = new int[26];
for (int i = 0; i < s.length(); i++) {
freq[s.charAt(i) - 'a']++;
}
// 找最小出现次数
int min = Integer.MAX_VALUE;
for (int f : freq) {
if (f > 0 && f < min) min = f;
}
// 输出删除后的字符串
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if (freq[s.charAt(i) - 'a'] != min) {
sb.append(s.charAt(i));
}
}
System.out.println(sb.toString());
}
}
}
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextLine()) { // 注意 while 处理多个 case
String str = in.nextLine();
//为空退出
if (str.isEmpty()) return;
//退出符退出循环
if (str.equals("END")){
break;
}
Map<String,Integer> map = new HashMap<>();
char[] arr = str.toCharArray();
Set<Character> set = new HashSet<>();
//非全小写字符,退出
for(char c : arr){
if(!Character.isLowerCase(c)) return;
//将字符放到set中,去重
set.add(c);
}
//存放去重后的字符
List<Character> list = new ArrayList<>();
for (char c : set){
list.add(c);
}
//存放字符和其计数
List<String> countList = new ArrayList<>();
for (int i = 0;i<list.size(); i++){
int n = 0;
for(char c1: arr){
if (list.get(i) == c1){
n++;
}
}
String temp = list.get(i)+","+n;
countList.add(temp);
}
//计算出最小字符的计数
int min = str.length();
for (int i = 0;i<countList.size();i++){
String[] temp = countList.get(i).split(",");
min = Math.min(min,Integer.parseInt(temp[1]));
}
//将计数等于最小字符的字符取出来
List<Character> charList = new ArrayList<>();
for (int i = 0;i<countList.size();i++){
String[] temp = countList.get(i).split(",");
int n = Integer.parseInt(temp[1]);
if (n == min){
charList.add(temp[0].charAt(0));
}
}
//循环对比最小计数字符和每个字符串字符,如果不是最小计数字符则输出
for (int i = 0; i<str.length();i++){
boolean flag = false;
for (int j = 0; j < charList.size();j++){
if (charList.get(j)==str.charAt(i)){
flag = true;
break;
}
}
if (flag) continue;
System.out.print(str.charAt(i));
}
}
}
} import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String s = in.nextLine();
Map<Character, Integer> map = new HashMap<>();
char[] charArray = s.toCharArray();
for (char c : charArray) {
map.put(c, map.getOrDefault(c, 0) + 1);
}
Integer min = map.values().stream().min((o1, o2)->o1 - o2).get();
for (Map.Entry entry : map.entrySet()) {
Object k = entry.getKey();
Integer v = (Integer)entry.getValue();
if (v == min) {
s = s.replaceAll(String.valueOf(k), "");
}
}
System.out.println(s);
}
} import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.nextLine();
String result = reChars(input);
System.out.println(result);
}
public static String reChars(String str) {
// 使用HashMap来存储每个字符出现的次数
Map<Character, Integer> charCountMap = new HashMap<>();
for (char c : str.toCharArray()) {
charCountMap.put(c, charCountMap.getOrDefault(c, 0) + 1);
}
// 找出出现次数最少的字符
int minCount = Integer.MAX_VALUE;
for (int count : charCountMap.values()) {
if (count < minCount) {
minCount = count;
}
}
// 删除出现次数最少的字符
StringBuilder result = new StringBuilder();
for (char c : str.toCharArray()) {
if (charCountMap.get(c) > minCount) {
result.append(c);
}
}
return result.toString();
}
} import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
int[] ss = new int[26];
String str = in.nextLine();
for(int i=0;i<str.length();i++){
ss[str.charAt(i)-'a']++;
}
int minCount = 21;
for(int i=0;i<26;i++) {
if(ss[i] > 0 && ss[i]< minCount) {
minCount = ss[i];
}
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < str.length(); i++) {
if(ss[str.charAt(i) - 'a'] != minCount) {
sb.append(str.charAt(i));
}
}
System.out.println(sb);
}
}
}
import java.util.HashMap;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
while (input.hasNext()) {
String str = input.nextLine();
HashMap<Character, Integer> count = new HashMap<>();
for (char c : str.toCharArray()) {
count.put(c, count.getOrDefault(c, 0) + 1);
}
//找出出现次数最少的字符的次数
int min = Integer.MAX_VALUE;
for (int num : count.values()) {
min = Math.min(min, num);
}
//构建新的字符串,去掉出现次数最少的字符
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray()) {
if (count.get(c) > min) {
sb.append(c);
}
}
System.out.println(sb.toString());
}
}
}
import java.util.HashMap;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String input = in.nextLine();
HashMap<Character,Integer> map = new HashMap<>();
for(int i=0;i<input.length();i++) {
char tmp = input.charAt(i);
if(map.containsKey(tmp)) {
map.replace(tmp, map.get(tmp)+1);
} else {
map.put(tmp,1);
}
}
int minValue = Integer.MAX_VALUE;
for(Integer value:map.values()) {
if(value<minValue) {
minValue = value;
}
}
for(int j=0;j<input.length();j++) {
char tmp = input.charAt(j);
if(map.get(tmp)!=minValue) {
System.out.print(tmp);
}
}
}
} import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
//统计所有字符的个数
HashMap<Character, Integer> map = new HashMap();
for (int i = 0; i < str.length(); i++) {
char a = str.charAt(i);
if (map.containsKey(a)) {
int count = map.get(a);
map.put(a, ++count);
} else {
map.put(a, 1);
}
}
StringBuilder sb = new StringBuilder("");
//找到最小值并删除
int min = Collections.min(map.values());
Iterator <Map.Entry<Character, Integer>>it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Character, Integer> entry = it.next();
if (entry.getValue() == min) {
it.remove();
}
}
//map里面存在的字符都是符合条件的,对比字符串,不断拼接符合条件爱你的字符
for(int i =0;i<str.length();i++){
if(map.containsKey(str.charAt(i))){
sb.append(str.charAt(i));
}
}
System.out.println(sb.toString());
}
} import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNext()) {
HashMap map = new HashMap();
String s = scan.next();
char[] chars = s.toCharArray();
for (char c : chars) {
if (map.containsKey(c)) {
map.put(c, map.get(c) + 1);
} else {
map.put(c, 1);
}
}
Integer less = map.entrySet().stream()
.sorted(Comparator.comparingInt(Map.Entry::getValue)).findFirst().get().getValue();
//获取出现次数最少的字符
List lessList = map.entrySet().stream()
.filter(e -> e.getValue() == less).map(Map.Entry::getKey).collect(Collectors.toList());
StringBuilder sb = new StringBuilder();
for (char nc : chars) {
if (!lessList.contains(nc)) sb.append(nc);
}
System.out.println(sb);
}
}
}
import java.util.*;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.next();
Map<Character, Integer> map = new HashMap();
char ch;
for (int i = 0; i < str.length(); ++ i ) {
ch = str.charAt(i);
int t = map.getOrDefault(ch, 0);
++ t;
map.put(ch, t);
}
Set<Character> set = map.keySet();
int min = 21;
for (Character c : set) {
if (map.get(c) < min) min = map.get(c);
}
for (Character c : set) {
if (map.get(c) == min) {
str = str.replace(c + "", "");
}
}
System.out.println(str);
}
} import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
Map<Character, Integer> map = new HashMap<>();
for (char c: str.toCharArray()) {
map.put(c, (map.getOrDefault(c, 0) + 1));
}
Collection<Integer> values = map.values();
int min = Collections.min(values);
for(Character c:map.keySet()){
if(map.get(c) == min){
str = str.replaceAll(String.valueOf(c),"");
}
}
System.out.println(str);
}
}