天天看點

2022年第十三屆藍橋杯Java B組第三題:字元統計

2022年第十三屆藍橋杯Java B組第三題:字元統計

  • ​​🍋問題描述​​
  • ​​🍋解題思路​​
  • ​​🍋解題代碼​​
  • ​​🍋其他真題​​

🍋問題描述

【問題描述】

給定一個隻包含大寫字母的字元串 S,請你輸出其中出現次數最多的字母。

如果有多個字母均出現了最多次,按字母表順序依次輸出所有這些字母。

【輸入格式】

一個隻包含大寫字母的字元串 S.

【輸出格式】

若幹個大寫字母,代表答案。

【樣例輸入】

BABBACAC

【樣例輸出】

AB

【評測用例規模與約定】

對于 100% 的評測用例,1 ≤ |S | ≤ 106.

🍋解題思路

這次的題目又出現了新的變化, 第3道題就是代碼程式設計題。

這道題還是簡單的。

對輸入的字元串進行周遊,找到每個字元的出現次數。

之後得到最大次數,之後輸出滿足最大次數的字母,可能有多個。

🍋解題代碼

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);//輸入的前提條件
        String st=in.nextLine();//輸入字元串
        long[] a=new long [26];//對應26個字母
        for(int i=0;i<st.length();i++) {//暴力
            a[st.charAt(i)-'A']++;
        }
        long max=0;
        for(int i=0;i<26;i++) {//找出出現次數最大的數值
            max=Math.max(max, a[i]);
        }
        for(int i=0;i<26;i++) {//隻要是次數最大的數值,就輸出。可能有多個
            if(a[i]==max) {
                System.out.print( (char) ('A'+i));//用char來轉換
            }
        }
    }
 
}      
2022年第十三屆藍橋杯Java B組第三題:字元統計