Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kiểm tra xem chuỗi có tuân theo mẫu a^n b^n hay không trong Python


Giả sử chúng ta có chuỗi s, cần kiểm tra xem chuỗi có tuân theo mẫu a^n b^n hay không. Tức là n ký tự 'a' theo sau bởi n ký tự 'b'. Ví dụ n=3 -> "aaabbb".

Ví dụ, s = "aaaaabbbbb", đầu ra True vì tuân theo a^5 b^5.

Các bước giải quyết:

  • size := độ dài s.
  • Duyệt i từ 0 đến size-1: nếu s[i] != 'a', thoát vòng lặp.
  • Nếu i * 2 != size, trả về False (số 'a' và 'b' không bằng nhau).
  • Duyệt j từ i đến size-1: nếu s[j] != 'b', trả về False.
  • Trả về True.

Xem ví dụ dưới đây để hiểu rõ hơn:

Ví dụ

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))

Đầu vào

"aaaaabbbbb"

Đầu ra

True