#11927. 问题 B - Four Hidden比赛编号403
问题 B - Four Hidden比赛编号403
问题 B - Four Hidden (难度:中等) 竞技编程-提高思维
题目描述
给定一个由小写字母和 ?
组成的字符串 T,以及一个由小写字母组成的字符串 U。
字符串 T 是通过取某个只包含小写字母的字符串 S,并将其中的四个字符替换为 ?
得到的。
请判断原始字符串 S 是否可能包含 U 作为一个连续子串。
输入格式
输入的格式如下:
T
U
- T 的长度在 4 到 10 之间,且由小写字母和
?
组成。 - T 中恰好有四个
?
。 - U 的长度在 1 到 |T| 之间,且由小写字母组成。
输出格式
输出一个字符串:如果原始字符串 S 可能包含 U 作为一个连续子串,输出 "Yes";否则输出 "No"。
样例输入 1
tak??a?h?
nashi
样例输出 1
Yes
解释:例如,如果 S 是 "takanashi",它包含 "nashi" 作为一个连续子串。
样例输入 2
??e??e
snuke
样例输出 2
No
解释:无论如何替换 T 中的 ?
,S 都无法包含 "snuke" 作为一个连续子串。
样例输入 3
????
aoki
样例输出 3
Yes
时间复杂度分析
本题的时间复杂度为 O(n)O(n),其中 nn 是字符串 TT 的长度。我们需要遍历 TT 中的每个字符并进行比对,处理的字符数不超过 10,因此时间复杂度是可以接受的。