给定字符串,求出现次数最多的那个字母及次数,如有多个重复则都输出
来源:互联网 发布:建筑工程造价软件 编辑:程序博客网 时间:2024/06/05 23:49
给定字符串,求出现次数最多的那个字母及次数,如有多个 重复则都输出。
eg,String data ="aaavzadfsdfsdhshdWashfasdf";
这是一道很基础的面试题,在别的博客上也看到关于该题的解答,但总体来说感觉所给出的解法都有点拖沓,于是自己又 想出来一种较为简洁高效的解法(自己认为,有问题的地方大家可以挑出来),大体思路是:
1. 先将字符串中以出现的字符为关键字,出现的次数为值存放到hashmap中
2. 设置一个list记录出现次数最多的字母,max记录出现最多的次数,遍历hashmap
(1)如果下一个字符的出现次数小于max,则continue,
(2)等于max,则添加到list
(3)大于max,清空list,更新max,list中添加该字符
- public class CountOfChar {
- public static void main(String[] args) {
- //String data ="aaavzadfsdfsdhshdWashfasdf";
- String data = "aaaabbbbccccc";
- Map<Character,Integer> countMap = new HashMap<Character,Integer>();
- for(int i=0;i<data.length();i++){
- char c = data.charAt(i);
- if(countMap.containsKey(c)){
- countMap.put(c,countMap.get(c)+1); //统计每个字符出现的次数
- }else{
- countMap.put(c, 1); //该字符第一次出现
- }
- }
- for(Map.Entry<Character, Integer> me:countMap.entrySet()){
- System.out.println(me.getKey()+"\t" + me.getValue());
- }
- LinkedList<Character> list=new LinkedList<Character>();
- int max=0;
- for(Map.Entry<Character, Integer> me:countMap.entrySet()){
- if(me.getValue()<max){
- continue;
- }
- if(me.getValue()==max){
- list.add(me.getKey());
- }
- if(me.getValue()>max){
- list.clear();
- max=me.getValue();
- list.add(me.getKey());
- }
- }
- System.out.println("++++++++++++++++++++++++++");
- for(Character c:list){
- System.out.println(c+"\t" + max);
- }
- }
- }
0 0
- 给定字符串,求出现次数最多的那个字母及次数,如有多个重复则都输出
- 给定字符串,求出现次数最多的那个字母及次数,如有多个重复则都输出
- 一道来自华为的面试题 ---- 给定字符串,求出现次数最多的那个字母及次数,如有多个重复则都输出
- 一个字符串中可能包含a~z中的多个字符,如有重复,求出现次数最多的那个字母及次数,如有多个重复最多的则都输出。
- 一个字符串中可能包含a~z中的多个字符,如有重复,如String data="aavzcadfdsfsdhshgWasdfasdf",求出现次数最多的那个字母及次数,如有多个重复的则都求出。
- 一个字符串中可能包含a~z中的多个字符,如有重复,如String data="aavzcadfdsfsdhshgWasdfasdf",求出现次数最多的那个字母及次数,如有多个重复的则都求出。
- 求字符串中出现次数最多的字母及次数
- 求出现重现次数最多的字母,如有多个重复的则都求出来
- 一个字符串中可能包括a-z中的多个字符,如有重复,求出现最多次数的那个字符及次数,如有多个重复的则都求出
- 求字符串中重复字数最多的字母及次数
- 求给定字母字符串中字母出现最多的字母和出现的次数
- 求包含a~z中多个字符的字符串中重复出现最多的字母及次数问题
- 统计字符串中出现次数最多的字母并输出
- 求出现频率最多的那个字母和出现的次数
- JS练习题①:求字符串中出现次数最多的字母和出现次数
- 字符串中出现次数最多的字母和次数
- 求字符串中字母出现的次数并排序输出
- 求字符串里出现最多的子串及次数
- 权限对目录的重要性
- Win7系统自带的无线网络共享WIFI
- 力所能及之hibernate简单的增删查改
- 开源游戏引擎详解
- 6、R语言,调用自编函数
- 给定字符串,求出现次数最多的那个字母及次数,如有多个重复则都输出
- 流媒体一
- UI中常用的控件Slider\SegmentCtrl\PageCtrl
- URAL 2012. About Grisha N.
- poj 3070(矩阵快速幂)
- live555类关系图
- 02引言-AngularJS基础教程
- Codeforces Round #296 (Div. 2) C(STL_set)
- Mac下/usr/include缺失