312просмотров
8.3%от подписчиков
18 марта 2026 г.
statsScore: 343
Задача: №20. Valid Parentheses
Сложность: easy Учитывая строку s, содержащую только символы '(', ')', '{', '}', '[' и ']', определите, является ли входная строка допустимой. Входная строка действительна, если: - Открытые скобки должны закрываться скобками того же типа. - Открытые скобки должны закрываться в правильном порядке. - Каждой закрывающей скобке соответствует открытая скобка того же типа. Пример: Input: s = "()[]{}" Output: true 👨💻 Алгоритм: 1⃣Использовать стек для хранения открывающих скобок. 2⃣При встрече закрывающей скобки проверять, соответствует ли она верхнему элементу стека. 3⃣В конце стек должен быть пустым, если строка валидна. 😎 Решение: func isValid(s string) bool { stack := []rune{} matching := map[rune]rune{')': '(', '}': '{', ']': '['} for _, char := range s { if char == '(' || char == '{' || char == '[' { stack = append(stack, char) } else { if len(stack) == 0 || stack[len(stack)-1] != matching[char] { return false } stack = stack[:len(stack)-1] } } return len(stack) == 0
} Ставь 👍 и забирай 📚 Базу знаний