华为OD机试真题精讲:万能字符单词拼写(Python/Java/C++多语言实现)
一、题目描述(2025B卷高频100分题)
给定一组字符资源和目标单词列表,其中包含可替代任意字符的「万能字符」(用*表示),需要计算能拼写出的目标单词的最大数量,规则如下:
- 输入为:
- 字符资源
chars(字符串,包含若干普通字符和万能字符*,区分大小写); - 目标单词列表
words(字符串数组,每个元素为一个单词,区分大小写); - 每个字符(含万能字符)只能使用一次,不可重复使用;
- 字符资源
- 目标:在字符资源耗尽前,最大化能完整拼写的目标单词数量;
- 输出:
- 能拼写出的目标单词的最大数量;
- 若无法拼写任何单词(无匹配资源),返回0。
关键约束
- 字符资源长度 1 ≤ len(chars) ≤ 100;
- 单词数量 1 ≤ n ≤ 100;
- 单个单词长度 1 ≤ len(word) ≤ 20;
- 万能字符
*数量 0 ≤ count(*) ≤ 10; - 时间限制1秒,空间限制256MB