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

Chương trình kiểm tra ngoặc đơn cân bằng trong Python

Cho chuỗi s chỉ chứa '(' và ')'. Kiểm tra xem chuỗi có cân bằng không.

Ví dụ

Đầu vào: "(()())(())".
Đầu ra: False (theo code gốc có lỗi logic, kết quả thực tế nên là True nếu cân bằng).

Thuật toán

  1. Khởi tạo num_open = 0.
  2. Duyệt ký tự c:
    • Nếu c == ')': nếu num_open <= 0 trả về False; else num_open--.
    • Ngược lại: num_open++.
  3. Trả về num_open == 0.

Mã nguồn Python

class Solution:
    def solve(self, s):
        num_open = 0
        for c in s:
            if c == ')':
                if num_open <= 0:
                    return False
                num_open -= 1
            else:
                num_open += 1
        return num_open == 0

ob = Solution()
print(ob.solve("(()())(())"))

Đầu vào / Đầu ra

Input: "(()())(())"
Output: True