检查字符串是否遵循 Python 中由模式定义的字符顺序
假设我们有一个字符串s和另一个字符串t作为模式,我们必须检查s中的字符是否遵循与t中存在的字符确定的相同顺序。这里我们在模式中没有重复的字符。
因此,如果输入类似于s="helloworld"t="hw",那么输出将为True。
为了解决这个问题,我们将按照以下步骤操作-
如果s的大小
返回错误
对于范围0到t-2大小的i,请执行
返回错误
x:=t[i],y:=t[i+1]
right:=x在s中的最后一个索引
left:=x在s中的第一个索引
如果right是-1或left是-1或right>left,则
返回真
让我们看看以下实现以获得更好的理解-
示例代码
def solve(s, t):
if len(s) < len(t) :
return False
for i in range(len(t) - 1):
x = t[i]
y = t[i + 1]
right = s.rindex(x)
left = s.index(y)
if right == -1 or left == -1 or right > left:
return False
return True
s = "hello world"
t = "hw"
print(solve(s, t))输入
"hello world", "hw"输出结果
True