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

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


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

เช่น ถ้าอินพุตเป็น s = "aaaaabbbbb" ผลลัพธ์จะเป็น True เนื่องจากเป็นไปตาม a^5 b^5

ในการแก้ปัญหานี้ เราจะทำตามขั้นตอนดังนี้:

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