华为-删除字符串中出现次数最少的字符
(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); } } }
思路二实现: