检查字符串是否是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