Java字符串题目--删除给定字符串中出现次数最少的字符
来源:互联网 发布:网络电影播放器排行榜 编辑:程序博客网 时间:2024/06/13 07:04
输入一段字符串,字符串中只包含大小写字母。要求完成函数删除给定字符串中出现次数最少的字符。 输出删除完的字符串。如果有多个出现次数一样的字符,都为最少时,一并删除。例如:输入:abbccd,输出为bbcc。
分析:删除出现次数最少的也就是保留出现最多的,但是可能有多个出现最多的,如上面的例子,就要考虑记录出现最多的字符以及出现的次数。
<pre name="code" class="java">public class MaxCharacter { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("输入字母序列:"); String input = sc.nextLine(); System.out.println(new MaxCharacter().getMaxCharacters(input)); } public String getMaxCharacters(String input){ char[] chars = new char[255]; char[] in = input.toCharArray(); Set<Character> set = new HashSet<Character>();//记录所有出现的最大的字符 int maxCount = 0;//最大的次数 for (int i = 0; i < in.length; i++) { int tempCount = (int)++chars[in[i]];//统计字符出现的次数,数组下标代表字符,数组内容记录次数 if(tempCount >= maxCount){ if(tempCount > maxCount)//如果当前的字符次数比最大的大则清除记录 set.clear(); maxCount = tempCount; set.add(in[i]); } } StringBuilder sb = new StringBuilder(); Object[] array = set.toArray();//保存所有出现次数最大的字符的数组 for (int i = 0; i < array.length; i++) { //可能有多个字符出现次数都是最大 for (int j = 1; j <= maxCount; j++) {//最大的次数 sb.append((array[i]).toString()); } } return sb.toString(); }}
0 0
- Java字符串题目--删除给定字符串中出现次数最少的字符
- (java)删除字符串中出现次数最少的字符
- Java-NowCoder-删除字符串中出现次数最少的字符
- 算法分析---删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- HWOJ 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除一个字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 华为oj 删除字符串中出现次数最少的字符
- 华为OJ 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 删除字符串中出现次数最少的字符
- 实现删除字符串中出现次数最少的字符
- 如何实时查看linux下的日志
- uva 673 Parentheses Balance
- 1078. Hashing (25)
- The Roatin Games poj
- 一笔画问题 NYOJ
- Java字符串题目--删除给定字符串中出现次数最少的字符
- 黑马程序员---description方法
- 103. Binary Tree Zigzag Level Order Traversal
- Palindrome Number
- Cow Exhibition 解题报告
- hbase通过row key 的前缀查询记录
- 2015 ICL, Finals, Div. 1 Ceizenpok’s formula(组合数取模,扩展lucas定理+中国剩余定理)
- 串口使用
- 转化Csv,excel到语言相关的文件