标签:
实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 |
|
知识点 | 字符串 |
---|---|
运行时间限制 | 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); } } }
标签:
原文地址:http://www.cnblogs.com/GumpYan/p/5790493.html