สมมติว่า 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