识文断句
2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷
华为OD机试双机位C卷真题目录点击查看: 【全网首发】2026华为OD机位C卷 机考真题题库含考点说明以及在线OJ(OD上机考试双机位C卷)
题目描述
给定一些短词字符串作为分割词,去分割一段长字符串。从前往后遍历分割词,查找并分割长字符串为对应的token。分词规则如下:
1.优先匹配最长分割词:若多个分割词可匹配同一位置,选择长度最长的;长度相同时,按字典序较大的优先。
2.未匹配部分保留原样:无法匹配分割词的部分直接作为独立token输出。
3.输出格式:每个token用括号包裹,按原字符串顺序输出。
输入描述
短词字符串列表,每行一个,空行后输入待分割的长字符串。
输出描述
括号包裹的分词结果,如(token1)(token2)
示例1
输入
zhong guo
zhong
guo
wo
mei guo
wo ai zhong guo mei guo ye xing
输出
(wo)(ai)(zhong guo)(mei guo)(ye)(xing)
说明
解题思路
核心思想
本题要求将长字符串按照给定的分割词列表进行分割。关键在于理解分割规则:
- 单词为最小单位:虽然题目描述是“长字符串”,但从示例和规则来看,处理的基本单元是“单词”(由空格分隔)。输入的分割词和长字符串都应该先按空格拆分为单词序列。
- 贪心匹配:在长字符串的每一个单词位置,尝试匹配所有可能的分割词。
- 优先级规则:
- 优先匹配包含单词数最多的分割词(最长)。
- 如果长度相同,选择字典序较大的分割词(注意是字典序较大,即
b>a)。
- 未匹配处理:如果当前位置无法匹配任何分割词,则将当前位置的单词作为一个独立的 token 输出,并继续处理下一个单词。
复杂度分析
- 时间复杂度:假设长字符串有 N N N 个单词,分割词列表有
订阅专栏 解锁全文
&spm=1001.2101.3001.5002&articleId=158544164&d=1&t=3&u=53a996d0dbb741b198140acb718f0edc)
6971

被折叠的 条评论
为什么被折叠?



