码迷,mamicode.com
首页 > 其他好文 > 详细

找出给定字符串中出现最多的字符和次数

时间:2017-07-23 12:37:00      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:blog   count   style   value   public   arraylist   pre   ++   har   

public static void findMaxCountChar(String str) {
        if (str == null || str == "")
            return;
        Map<String, Integer> map = new HashMap<String, Integer>();
        int maxCount = 0;
        String maxCountStr = "";
        List<String> list = new ArrayList<String>();
        for (int i = 0; i < str.length(); i++) {
            String key = String.valueOf(str.charAt(i));
            if (maxCount >= str.length() / 2) {
                if (maxCountStr == key) {
                    maxCount++;
                }
            } else {
                if (!map.containsKey(key)) {
                    map.put(key, 1);
                } else {
                    int count = map.get(key);
                    map.put(key, count + 1);
                    if ((count + 1) > maxCount) {
                        maxCount = count + 1;
                        maxCountStr = key;
                        list.clear();
                        list.add(key);
                    } else if ((count + 1) == maxCount) {
                        list.add(key);
                    }
                }
            }

        }
        System.out.println("最大次数" + maxCount);
        if (maxCount >= str.length() / 2) {
            System.out.println("字符" + maxCountStr);
        } else {
            System.out.println("字符" + list);
        }
    }

 

找出给定字符串中出现最多的字符和次数

标签:blog   count   style   value   public   arraylist   pre   ++   har   

原文地址:http://www.cnblogs.com/tonggc1668/p/7224012.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!