zoukankan      html  css  js  c++  java
  • 蓝桥杯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;
        }
    }
    
    
  • 相关阅读:
    2017-2018-1 20155334第八周课堂实践总结+课下作业+教材内容总结
    移动手机号段区别
    使用Maven搭建Hadoop开发环境
    RunMR.java
    BeanUtils内省工具包
    eclipse和myeclipse中如何关闭自动补全括号,花括号,双引号等功能
    为什么在jsp中写${pageContext.request.contextPath }失效了
    开发WEB项目的步骤
    MVC的职责分工
    关于import中使用*号是否会影响程序性能
  • 原文地址:https://www.cnblogs.com/saysayzhou/p/14530422.html
Copyright © 2011-2022 走看看