华为 2022 笔试
Leetcode Link: N/A
题目
给定一段英文句子和一个英文单词列表。英文句子包含英文单词和标点符号,其中:
- 英文单词只包含
[a-zA-Z]范围内的字符; - 标点符号包括逗号、句号、双引号 (双引号两边至少有一个空格)。
如果列表中有单词在句子中存在(大小写不敏感)且该单词未被双引号包含,则使用该单词在列表中的索引值(索引值从0开始)代替句子中的该单词,如果英文单词列表中存在重复的英文单词,则以该单词最后一次出现的索引值进行替换。
输入描述 第一行:一段英文句子 第二行:英文单词列表
提示: 每个英文单词长度在[150]范围内。 输入的英文句子长度在[0,10000]范围内。 输入的英文单词列表长度在[0,100000]范围内。 英文句子中不会出现双引号不匹配的情况。
Hello world.
Good Hello LOOP
解释: hello在英文句子中存在,则使用hello的索引值进行替换,得到结果为1world.
输出描述 替换后的英文句子
1world.
解法一
思路:
题解:
解法二
思路:
题解:
解法三
思路:
题解: