华为OD机试真题精讲:新词挖掘(Python/Java/C++多语言实现)
一、题目描述(2025B卷高频100分题)
在自然语言处理场景中,「新词挖掘」是指从一段文本中识别出未被收录在词典中的连续字符序列,这些序列需满足特定的频率和长度条件。给定一段仅包含中文汉字的文本字符串text、词典集合dict_words、最小长度min_len、最小出现频率min_freq,请完成以下要求:
- 提取文本中所有连续子串,过滤掉词典中已存在的子串;
- 筛选出长度≥
min_len且出现频率≥min_freq的子串作为候选新词; - 最终返回按出现频率降序、长度降序、字典序升序排序后的候选新词列表。
关键约束
- 文本长度
1 ≤ len(text) ≤ 10^4,词典规模1 ≤ len(dict_words) ≤ 10^3; - 子串长度范围
1 ≤ min_len ≤ 5,最小频率1 ≤ min_freq ≤ 100; - 时间限制1秒,空间限制256MB;
- 中文文本无标点符号,仅包含单个汉字组成的连