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