检查字符串是否遵循 Python 中由模式定义的字符顺序
假设我们有一个字符串 s 和另一个字符串 t 作为模式,我们需要检查字符串 s 中的字符是否遵循 t 中存在的字符所确定的相同顺序。这里模式中没有重复的字符。
因此,如果输入类似于 s = "hello world" t = "hw",则输出将为 True。
为了解决这个问题,我们将遵循以下步骤 -
- 如果 s 的大小 < t 的大小,则
- 返回 False
- 对于 i 从 0 到 t 的大小 - 2,执行
- x := t[i],y := t[i + 1]
- right := x 在 s 中的最后一个索引
- left := x 在 s 中的第一个索引
- 如果 right 为 -1 或 left 为 -1 或 right > left,则
- 返回 False
- 返回 True
让我们看看以下实现以更好地理解 -
示例代码
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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP