检查字符串是否是Python中给定名称的类型化名称
假设我们有两个小写的字符串s和t。有时,当我们键入一个元音时,按键可能会被长按,并且该元音将重复1次或更多次。我们必须检查是否有可能键入了指示s的t。
因此,如果输入像s=“mine”t=“miiine”,则输出将为True,因为元音'i'重复了3次,其他字母也可以。
为了解决这个问题,我们将遵循以下步骤-
s_len:=s的大小
t_len:=t的大小
j:=0
对于范围在0到s_len-1之间的i
返回False
cnt_2:=cnt_2+1
j:=j+1
cnt_1:=cnt_1+1
我:=我+1
j:=j+1
进行下一次迭代
返回False
如果s[i]与t[j]不同,则
如果s[i]不是元音,则
cnt_1:=1
当i<s_len-1和s[i]与s[i+1]相同时,
cnt_2:=1
当j<t_len-1和t[j]与s[i]相同时,
如果cnt_1>cnt_2,则
返回True
让我们看下面的实现以更好地理解-
示例
def isVowel(c):
vowel = "aeiou"
return c in vowel
def solve(s, t):
s_len = len(s) t_len = len(t) j = 0
for i in range(s_len):
if s[i] != t[j]:
return False
if isVowel(s[i]) == False:
j = j + 1
continue
cnt_1 = 1
while i < s_len - 1 and (s[i] == s[i + 1]):
cnt_1 = cnt_1 + 1
i = i + 1
cnt_2 = 1
while j < t_len - 1 and t[j] == s[i]:
cnt_2 = cnt_2 + 1
j = j + 1
if cnt_1 > cnt_2:
return False
return True
s = "mine"
t = "miiine"
print(solve(s, t))输入值
"mine", "miiine"输出结果
True