Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าทุกกลุ่มของ a ตามด้วยกลุ่ม b ที่มีความยาวเท่ากันใน Python


สมมติว่าเรามีสตริงตัวพิมพ์เล็ก 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
  • a_count :=a_count - 1
  • ผม :=ผม + 1
  • ถ้า a_count ไม่ใช่ 0 แล้ว
    • คืนค่าเท็จ
  • คืนค่า True
  • ตัวอย่าง

    ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

    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