สมมติว่า er มีพจนานุกรมสตริง พจนานุกรมนี้แสดงการจัดลำดับพจนานุกรมของนักบินอวกาศในสมัยโบราณ ดังนั้นถ้าเรามีสตริง s เราต้องตรวจสอบว่ามันเป็นสตริงที่จัดเรียงตามพจนานุกรมตามพจนานุกรมนักบินอวกาศโบราณหรือไม่
ดังนั้น หากอินพุตเป็นเหมือน dictionary ="bdc", s ="bbbb h ddd i cccc" ผลลัพธ์จะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
l :=ขนาดของ astro_dict
-
ถ้า l เท่ากับ 0 แล้ว
-
คืนค่า True
-
-
ผม :=0
-
สำหรับแต่ละอักขระ c ใน s ทำ
-
ถ้า c ใน astro_dict แล้ว
-
ในขณะที่ i
-
ผม :=ผม + 1
-
-
ถ้า i>=l หรือ astro_dict[i] ไม่ใช่ c แล้ว
-
คืนค่าเท็จ
-
-
-
-
คืนค่า 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