สมมติว่าเรามีสตริงที่เราต้องตรวจสอบว่าสตริงนั้นเป็นไปตามรูปแบบ a^nb^n หรือไม่ นี่คือสตริงจริงเมื่อ n =3 สตริงจะเป็น "aabbb"
ดังนั้น หากอินพุตเป็น s ="aaaaabbbbb" ผลลัพธ์จะเป็น True ดังนี้ a^5b^5
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- ขนาด :=ขนาดของเอส
- สำหรับฉันในช่วง 0 ถึงขนาด - 1 ทำ
- ถ้า s[i] ไม่เหมือนกับ 'a' แล้ว
- ออกมาจากลูป
- ถ้า s[i] ไม่เหมือนกับ 'a' แล้ว
- ถ้า i * 2 ไม่เท่ากับขนาด แล้ว
- คืนค่าเท็จ
- สำหรับ j ในช่วง i ถึงขนาด - 1 ทำ
- ถ้า s[j] ไม่เหมือนกับ 'b' แล้ว
- คืนค่าเท็จ
- ถ้า s[j] ไม่เหมือนกับ 'b' แล้ว
- คืนค่า True
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
def solve(s): size = len(s) for i in range(size): if s[i] != 'a': break if i * 2 != size: return False for j in range(i, size): if s[j] != 'b': return False return True s = "aaaaabbbbb" print(solve(s))
อินพุต
"aaaaabbbbb"
ผลลัพธ์
True