小工具知识网

当前位置: 首页 > 行业知识 > 华为OD机试 - 字符串统计(Java 2024 C卷 100分)

行业知识

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

2026-11-10 16:09:43 来源:互联网转载

目录

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

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

          专栏导读

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

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

          一、题目描述

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

          二、输入描述

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

          三、输出描述

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

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

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

          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在线答疑。

上一篇:宝塔面板 灰色怎么调?

下一篇:彩票投注软件制作风险解析与警示,犯罪风险不容忽视