Python 中的古代宇航員理論
假設我們有一個字串詞典,該詞典表示古代宇航員詞典的部分詞典序。因此,如果我們有一個字串 s,我們必須檢查它是否根據這個古代宇航員詞典是詞典序排序的字串。
因此,如果輸入類似於詞典 = “bdc”,s = “bbbb h ddd i cccc”,那麼輸出將為 True
為了解決這個問題,我們將遵循以下步驟 -
l := astro_dict 的大小
如果 l 與 0 相同,則
返回 True
i := 0
對於 s 中的每個字元 c,執行
如果 c 在 astro_dict 中,則
當 i < l 且 astro_dict[i] 不為 c 時,執行
i := i + 1
如果 i >= l 或 astro_dict[i] 不為 c,則
返回 False
返回 True
讓我們看看以下實現以獲得更好的理解 -
示例
class Solution:
def solve(self, astro_dict, s):
l = len(astro_dict)
if l == 0:
return True
i = 0
for c in s:
if c in astro_dict:
while i < l and astro_dict[i] != c:
i += 1
if i >= l or astro_dict[i] != c:
return False
return True
ob = Solution()
print(ob.solve("bdc","bbbb h ddd i cccc"))輸入
"bdc","bbbb h ddd i cccc"
輸出
True
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP