• 蓝桥杯2020 Java(第七题:单词分析)


    方法一:

    import java.util.Scanner;
    
    /**
     * @author zhou
     * @date 20210313-2116
     */
    public class WordAnalogy {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            char[] ch = scanner.nextLine().toCharArray();
            int[] ans = new int[26];
    
            // 统计字母出现的次数
            for (int i = 0; i < ch.length; i++) {
                ans[ch[i] - 'a']++;
            }
    
            char letter = 0;
            int max = Integer.MIN_VALUE;
    
            for (int i = 0; i < ans.length; i++) {
                if (max < ans[i]) {
                    max = ans[i];
                    //最大次数
                    letter = (char) (i + 'a');
                    //转换为字符 (字母)
                }
            }
            System.out.println(letter + "
    " + max);
        }
    }
    
    

    方法二

    import java.util.*;
    import java.util.stream.Collectors;
    
    /**
     * @author fat-cabbage
     * @date 20210313-19010
     */
    public class Test1900 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            String strInput = scanner.nextLine();
    
            ArrayList<Map<String, String>> list = new ArrayList<>();
            for (String s : strInput.split("")) {
                int index = getMapIndex(s, list);
                Map<String, String> map;
                if (index == -1) {
                    map = new HashMap<>();
                    map.put("string", s);
                    map.put("count", String.valueOf(1));
                    list.add(map);
                } else {
                    map = list.get(index);
                    int count = Integer.parseInt(map.get("count"));
                    map.put("count", String.valueOf(count + 1));
                }
            }
    
            list.sort((o1, o2) -> {
                String o1Str = o1.get("string");
                Integer o1Count = Integer.valueOf(o1.get("count"));
                String o2Str = o2.get("string");
                Integer o2Count = Integer.valueOf(o2.get("count"));
                if (!o1Count.equals(o2Count)) {
                    return o2Count.compareTo(o1Count);
                } else {
                    return o1Str.compareTo(o2Str);
                }
            });
            System.out.println(list);
            System.out.println(list.get(0).get("string"));
        }
    
        private static int getMapIndex(String string, ArrayList<Map<String, String>> list) {
            System.out.print("string:" + string + ", list:" + list);
            for (int i = 0; i < list.size(); i++) {
                String thisIndexString = list.get(i).get("string");
                if (thisIndexString.equals(string)) {
                    System.out.println(", return:" + i);
                    return i;
                }
            }
            System.out.println(", return:-1");
    
            return -1;
        }
    }
    
    
  • 相关阅读:
    CF854C Planning优先队列|set
    暑假集训-8.9总结
    暑假集训-8.6总结
    AcWing 206. 石头游戏 矩阵乘法|矩阵快速幂
    暑假集训-8.5总结
    KMP 和 扩展KMP
    暑假集训-8.4总结
    暑假集训-8.3总结
    2019牛客暑期多校第二场题解FH
    AcWing 196. 质数距离
  • 原文地址:https://www.cnblogs.com/saysayzhou/p/14530422.html
Copyright © 2020-2023  润新知