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;
        }
    }
    
    
  • 相关阅读:
    Java基础——原码, 反码, 补码 详解
    为什么Java byte 类型的取值范围是-128~127
    JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&nbs
    JDK config
    为什么要设置Java环境变量(详解)
    什么是JAR包?
    如何用python将一个时间序列转化成有监督学习
    ImportError: numpy.core.multiarray failed to import
    搭建SDN网络——mininet
    回溯法解决最大团问题
  • 原文地址:https://www.cnblogs.com/saysayzhou/p/14530422.html
Copyright © 2011-2022 走看看