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

ตรวจสอบว่าสตริงตามรูปแบบ a^n b^n หรือไม่ใน Python


สมมติว่าเรามีสตริงที่เราต้องตรวจสอบว่าสตริงนั้นเป็นไปตามรูปแบบ a^nb^n หรือไม่ นี่คือสตริงจริงเมื่อ n =3 สตริงจะเป็น "aabbb"

ดังนั้น หากอินพุตเป็น s ="aaaaabbbbb" ผลลัพธ์จะเป็น True ดังนี้ a^5b^5

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ขนาด :=ขนาดของเอส
  • สำหรับฉันในช่วง 0 ถึงขนาด - 1 ทำ
    • ถ้า s[i] ไม่เหมือนกับ 'a' แล้ว
      • ออกมาจากลูป
  • ถ้า i * 2 ไม่เท่ากับขนาด แล้ว
    • คืนค่าเท็จ
  • สำหรับ j ในช่วง i ถึงขนาด - 1 ทำ
    • ถ้า 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