文本统计分析 - 华为OD统一考试(C卷)

本文介绍华为OD统一考试C卷的一道题目,要求统计遵循特定规则的文本数量。规则包括以';'分隔文本,考虑字符串、转义字符和注释。解决方案可以通过有限状态机实现,分别处理正常文本、双引号字符串、单引号字符串和注释状态。提供了Java、Python和C++的题解代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OD统一考试(C卷)

分值: 200分

题解: Java / Python / C++

alt

题目描述

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

规则如下

  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;
    注意, 字符串内的”–", 不是注释

输入描述

文本文件</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

什码情况

你的鼓励就是我最大的动力。

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

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

打赏作者

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

抵扣说明:

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

余额充值