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