统计出现最多的数字

题目描述

输入一个长度小于等于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>>(){
			@Override
			public 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());
	}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值