第十三届蓝桥杯B组Java(试题C:字符统计)

简介: 第十三届蓝桥杯B组Java(试题C:字符统计)

试题C:字符统计

思路:经典算法问题,寻找出现次数最多的字母,思路就是先用数字统计每个字母的出现次数,因为字母有26个所以,开一个26大小的就可以,a[i],i就是字母对应的索引,a[i]就是对应的出现次数,然后寻找到数组最大的值就可以了。

import java.util.*;
public class Main
{
    public static void main(String [] args)
    {
        Scanner in = new Scanner (System.in);
        // 先把字符串打散成字符数组
        char [] strs = in.nextLine().trim().toCharArray();
        int a [] = new int [30];
        // 然后统计每个字符的出现次数
        for (int i = 0; i < strs.length; ++ i)
        {
            int t = strs[i] - 'A';
            a[t] ++;
        }
        int max = 0;
        // 寻找出现次数最多的字符对应的数字
        for (int i = 0; i < 26; ++ i) max = Math.max(max, a[i]);
        for (int i = 0; i < 26; ++ i)
        {
            // 然后再寻找一下 按顺序的 与max等值的字母还有哪些 
            if (a[i] == max) System.out.print((char)(i + (int)'A'));
        }
    }
}


相关文章
|
2月前
|
Arthas Java 中间件
如何优雅的在java中统计代码块耗时
如何优雅的在java中统计代码块耗时
36 1
|
6天前
|
存储 缓存 Java
|
21天前
|
JavaScript Java 测试技术
基于Java的职业高中智慧作业试题系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的职业高中智慧作业试题系统的设计与实现(源码+lw+部署文档+讲解等)
25 0
|
22天前
|
存储 Java 数据库连接
java使用mp持久化框架,写入5000个字符,但是VARCHAR(255) 会报错
使用Java的MyBatis Plus框架时,如果尝试将超过VARCHAR(255)限制的字符串(如5000个字符)存入数据库,会抛出异常。解决方法是将列类型改为TEXT。可通过在实体类属性上添加`@TableField(typeHandler = JdbcType.CLOB)`注解,如`private String content;`,将属性映射到CLOB类型列,以存储更长字符串。
9 0
|
1月前
|
SQL Java 数据库连接
Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符
12 0
|
2月前
|
Java
【Java】一个关于装箱的某里面试题
【Java】一个关于装箱的某里面试题
8 1
|
2月前
|
存储 Java API
Java统计功能
Java统计功能
14 0
|
2月前
|
Java
38、Java 中的正则表达式(单字符匹配和预定义字符)
38、Java 中的正则表达式(单字符匹配和预定义字符)
18 0
|
3月前
|
Java
Java CSV文件写入、特殊字符处理等
1、生成CSV文件时要处理双引号、逗号、回车和中文字符
91 1
|
3月前
|
Java 数据安全/隐私保护 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-193 Password Suspects(C++&Java)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-193 Password Suspects(C++&Java)
20 1