【2024华为OD机试真题-C卷D卷-200分】文本统计分析(C++/Java/Python)

这篇博客主要介绍了华为在线测评(OD)中的一道C卷和D卷题目,涉及文本统计分析。题目要求统计按照特定规则分隔的文本数量,规则包括分号分隔、字符串、注释等。解决方案包括对输入文本进行处理,如替换特殊字符、处理引号和注释,然后统计有效分号来确定语句个数。提供了Python和Java的代码实现。
摘要由CSDN通过智能技术生成
【华为OD机试】-(A卷+B卷+C卷+D卷)-2024真题合集目录
【华为OD机试】-(C卷+D卷)-2024最新真题目录
题目描述

有一个文件,包含以一定规则写作的文本,请统计文件中包含的文本数量。

规则如下:

  1. 文本以 ";" 分隔,最后一条可以没有 ";" ,但空文本不能算语句,比如

    COMMAND A; ;

    只能算一条语句。
    注意,无字符/空白字符/制表符都算作"空"文本;
     
  2. 文本可以跨行,比如下面,是一条文本,而不是三条

    COMMAND A

    AND

    COMMAND B;

  3. 文本支持字符串,字符串为成对的单引号(')或者成对的双引号("),字符串可能出现用转义字符(\)处理的单双引号("your input is\"")和转义字符本身,比如

    COMMAND A "Say \"hello\"";

  4. 支持注释,可以出现在字符串之外的任意位置注释以”--“开头,到换行结束,比如

    COMMAND A; -- this is comment

    COMMAND -- comment

    A AND COMMAND B;

    注意字符串内的”--“,不是注释。
     
输入描述

文本文件

输出描述

包含的文本数量

用例1
输入 COMMAND TABLE IF EXISTS "UNITED STATE";
COMMAND A GREAT (
    ID ADSAB,
    download_length INTE-GER,  -- test
    file_name TEXT,
    guid TEXT,
    mime_type TEXT,
    notifica-tionid INTEGER,
    original_file_name TEXT,
    pause_reason_type INTEGER,
    resumable_flag INTEGER,
    start_time INTEGER,
    state INTEGER,
    folder TEXT,
    path TEXT,
    total_length INTE-GER,
    url TEXT
);
输出 2
说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2024剑指offer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值