第十三届蓝桥杯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'));
        }
    }
}


相关文章
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
1197 0
|
存储 传感器 缓存
java变量与数据类型:整型、浮点型与字符类型
### Java数据类型全景表简介 本文详细介绍了Java的基本数据类型和引用数据类型,涵盖每种类型的存储空间、默认值、取值范围及使用场景。特别强调了`byte`、`int`、`long`、`float`、`double`等基本类型在不同应用场景中的选择与优化,如文件流处理、金融计算等。引用数据类型部分则解析了`String`、数组、类对象、接口和枚举的内存分配机制。
634 15
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
398 17
|
人工智能 Python
蓝桥杯练习题(四):Python组之历届试题三十题
关于蓝桥杯Python组历届试题的三十个练习题的总结,包括题目描述、输入输出格式、样例输入输出以及部分题目的解题思路和代码实现。
781 0
蓝桥杯练习题(四):Python组之历届试题三十题
|
存储 Java Apache
|
Java
Java——编码GBK的不可映射字符
Java——编码GBK的不可映射字符
647 1
|
存储 算法 Java
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
LeetCode初级算法题:反转链表+统计N以内的素数+删除排序数组中的重复项Java详解
403 0
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解
|
Java API 索引
Java中的字符串与字符操作详解
Java中的字符串与字符操作详解

热门文章

最新文章