华为OD机试 - 字符串统计(Java 2024 C卷 100分)

小明 2025-05-05 15:03:59 8

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
      • 1、输入
      • 2、输出
      • 3、说明
      • 四、解题思路
      • 五、Java算法源码
      • 六、效果展示
        • 1、输入
        • 2、输出
        • 3、说���

          华为OD机试 2024C卷题库疯狂收录中,刷题点这里

          专栏导读

          本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷+C卷)》。

          刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

          一、题目描述

          给定两个字符集合,一个是全量字符集,一个是已占用字符集,已占用字符集中的字符不能再使用,要求输出剩余可用字符集。

          二、输入描述

          1. 输入一个字符串 一定包含@,@前为全量字符集 @后的为已占用字符集。
          2. 已占用字符集中的字符,一定是全量字符集中的字符,字符集中的字符跟字符之间使用英文逗号隔开。
          3. 每个字符都表示为字符加数字的形式,用英文冒号分隔,比如 a:1 标识 1 个 a 字符。
          4. 字符只考虑英文字母,区分大小写,数字只考虑正整型 不超过
          5. 如果一个字符都没被占用,@标识仍存在,例如 a:3,b:5,c:2@。

          三、输出描述

          输出可用字符集,不同的输出字符集之间用回车换行。

          注意:输出的字符顺序要跟输入的一致,不能输出b:3,a:2,c:

          如果某个字符已全部占用,则不需要再输出。

          1、输入

          a:3,b:5,c:2@a:1,b:2

          2、输出

          a:2,b:3,c:2

          3、说明

          全量字符集为 3a5b2c

          已占用字符集为 1a2b

          可用字符集 = 全部的 - 使用过的 = 2a3b2c

          四、解题思路

          迄今为止,这道题是我遇到的最简单的题~

          五、Java算法源码

          public class Test02 {
              /**
               * 输入a:3,b:5,c:2@a:1,b:2
               * 输出a:2,b:3,c:2
               */
              public static void main(String[] args) {
                  Scanner sc = new Scanner(System.in);
                  String[] arr = sc.nextLine().split("@");
                  // 用过的字符
                  Map usedMap = new HashMap();
                  String[] usedArr = arr[1].split(",");
                  for (int i = 0; i  
          

          六、效果展示

          1、输入

          a:5,b:7,c:6@a:2,c:2

          2、输出

          a:3,b:7,c:4

          3、说明

          全量字符集为 5a7b6c

          已占用字符集为 2a2c

          可用字符集 = 全部的 - 使用过的 = 3a7b4c

          🏆下一篇:华为OD机试 - 最长的顺子 - 感谢@禁止你发言提供的更简便算法(Java 2023 B卷 200分)

          🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

          刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

The End
微信