題目描述
輸入一個長度小於等於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());
}