Senior
1
import unittest class Solution: def isvalid(self, s:str) -> bool: matching_brackets = { ")": "(", "]": "[", "}": "{", } stack: list[str] = [] for bracket in s: if bracket in "([{": stack.append(bracket) continue if bracket not in matching_brackets: return False if not stack or stack[-1] != matching_brackets[bracket]: return False stack.pop() return not stack class SolutionTest: def __init__(self): self.Solution = Solution() def run(self): test_cases = [ ("", True), ("()", True), ("(){}[]", True), ("(({}))", True), ("(", False), (")", False), ("(((", False), ("{[]}", False), ] for brackets, expected in test_cases: actual = self.Solution.isvalid(brackets) assert actual == expected, ( f"Ошибка для {brackets!r}" f"Хотели получить {expected}, а получили {actual}" ) print(f"Все тесты пройдены: {len(test_cases)}") if __name__ == "__main__": SolutionTest().run()
Компании, где спрашивали
lifepay