สมมติว่าเรามีสตริงตัวพิมพ์เล็ก s ที่มีอักขระเพียงสองตัว a และ b เราต้องตรวจสอบว่าทุกกลุ่มของ a ต่อเนื่องกัน ตามด้วยกลุ่ม b ที่ต่อเนื่องกัน ที่มีความยาวเท่ากันหรือไม่
ดังนั้น หากอินพุตเป็นแบบ s ="abaabbbaabbaabbab" ผลลัพธ์จะเป็น True เนื่องจากทุกกลุ่มคือ (ab), (aaabbb), (aabb), (aabb), (ab)
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
- a_count :=0, string_len :=ขนาดของ s
- ผม :=0
- ในขณะที่ฉัน
- ในขณะที่ i
- a_count :=a_count + 1
- ผม :=ผม + 1
- ในขณะที่ i
- คืนค่าเท็จ
ตัวอย่าง
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
def solve(s): a_count = 0 string_len = len(s) i = 0 while i < string_len: while i < string_len and s[i] == 'a': a_count += 1 i += 1 while i < string_len and s[i] == 'b': a_count -= 1 i += 1 if a_count != 0: return False return True s = "abaaabbbaabbaabbab" print(solve(s))
อินพุต
"abaaabbbaabbaabbab"
ผลลัพธ์
True