统计出现最多的数字

来源:互联网 发布:数控车编程软件手机版 编辑:程序博客网 时间:2024/05/01 05:52

题目描述

输入一个长度小于等于256,大于0,且只包含数字的字符串,统计其中出现最多数字的个数。

若有多个数字的个数并列最多,取最先出现的数字。

输出该数字及个数做成的字符串,格式:"数字+逗号+个数"

输入

输入一个长度小于等于256,大于0,且只包含数字的字符串

输出

输出该数字及个数做成的字符串,格式:"数字+逗号+个数"。注意逗号为英文半角

样例输入

463618964

样例输出

6,3

提示

地区

西安研究所

public static String statisticOccurMaxCountDigit(String input){char[] c=input.toCharArray();Stack<Character> stack=new Stack<Character>();for(int i=c.length-1;i>=0;i--){stack.push(c[i]);}LinkedHashMap<Character,Integer> lhm=new LinkedHashMap<Character,Integer>();while(!stack.isEmpty()){char ch=stack.pop();if(lhm.containsKey(ch)){lhm.put(ch, lhm.get(ch)+1);}else{lhm.put(ch, new Integer(1));}}List<Map.Entry<Character,Integer>> list=new ArrayList<Map.Entry<Character,Integer>>(lhm.entrySet());Collections.sort(list, new Comparator<Map.Entry<Character,Integer>>(){@Overridepublic int compare(Entry<Character, Integer> o1,Entry<Character, Integer> o2) {return o2.getValue()-o1.getValue();//降序}});return String.valueOf(list.get(0).getKey())+","+String.valueOf(list.get(0).getValue());}


 

原创粉丝点击