当前位置: 首页 > article >正文

蓝桥与力扣刷题(蓝桥 字符统计)

题目:给定一个只包含大写字母的字符出 S, 请你输出其中出现次数最多的字符。如果有多个字母均出现了最多次, 按字母表顺序依次输出所有这些字母。

输入格式

一个只包含大写字母的字等串 S.

输出格式

若干个大写字母,代表答案。

样例输入

BABBACAC

样例输出

AB

评测用例规模与约定

对于 100%100% 的评测用例, 1≤∣S∣≤1061≤∣S∣≤106.

解题思路+代码:

代码:

import java.util.Scanner;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
    public static void main(String[] args) {
      /**
      思路:
      1.获取字符串S
      2.创建数组,存放26个字母
      3.对26个字母的次数进行判断  对最大次数的字母进行输出
      */
        Scanner scan = new Scanner(System.in);
        String S = scan.next(); // 获取字符串S
        int[] res = new int[26]; //存放26个字母
        char[] ch = S.toCharArray(); //转换为字符

        for(int i = 0; i<ch.length; i++){
          res[ch[i] - 'A']++; //记录每个字母出现的次数
        }

        int max = 0; //方便更新最大值
        for(int i = 0; i<26; i++){
          max = Math.max(max,res[i]); //记录字母出现的最多次数
        }

        for(int i = 0; i<26; i++){
          if(res[i] == max){
            System.out.print((char)(i + 'A')); //循环输出
          }
        }
    }
}

总结:解答这道题可以使字符串转字符(这里提及一下toCharArray和tocharAt的区别:toCharArray()作用:将字符串转换为一个字符数组(char[])。返回值:返回一个字符数组,数组中的每个元素是字符串中的一个字符。   charAt(int index)作用:获取字符串中指定索引位置的字符。参数index,表示字符在字符串中的索引位置(从 0 开始)。返回值:返回指定索引位置的单个字符。)对每个字符进行计数,用max接收字母出现的最多次数循环26个字母数组后再判断每个字母出现的次数最多次数是否相等,相等即输出。


http://www.kler.cn/a/587995.html

相关文章:

  • linux (centos) 的 nodejs 安装全局包后使用命令无效
  • UE5 RVT 制作场景交互 - 遮罩
  • 安装配置Anaconda
  • es6初步学习
  • k8s serviceaccount在集群内指定apiserver时验证错误的问题
  • 计算机视觉中的MIP算法全解析
  • 使用VSCode开发STM32补充(Debug调试)
  • AI+视觉测试:如何提升前端测试质量?
  • 五大基础算法——模拟算法
  • MySQL -- 基本函数
  • 【Linux进程通信】————匿名管道命名管道
  • Matlab 风力发电机磁悬浮轴承模型pid控制
  • 从需求文档到智能化测试:基于 PaddleOCR 的图片信息处理与自动化提取
  • 每日Attention学习28——Strip Pooling
  • CVPR2024 | TT3D | 物理世界中可迁移目标性 3D 对抗攻击
  • day04_Java高级
  • 练习题:89
  • 考研专业课复习方法:如何高效记忆和理解?
  • 应用于电池模块的 Fluent 共轭传热耦合
  • C++学习笔记(二十)——类之运算符重载