и посмотреть медиа
Pythonist's Library: Python Django Flask
и посмотреть медиа
Everything useful for Python developers: Django, Flask and libraries.
Everything useful for Python developers: Django, Flask and libraries.
Comprehensive channel for Pythonists. Contains selections of libraries, guides on Django and Flask, code examples and tips. Everything most needed in one place for efficient work and learning web development in Python.
😱 Как правильно валидировать BST на Python (и не завалить интервью) Задача Validate Binary Search Tree — одна из тех, что регулярно всплывают на coding interviews. И большинство кандидатов сначала решают её неправильно. Типичная ошибка — проверять только родителя: if node.left and node.left.val >= node.val: return False Проблема в том, что в BST ограничения наследуются от всех предков, а не только от текущего узла. Например, вот это дерево невалидно: 10 / \ 5 15 / \ 6 20 Потому что 6 находится справа от 10, а значит должно быть больше 10, даже если 6 < 15. Самый сильный и interview-friendly подход — min/max bounds pattern. Идея простая: - root начинается с диапазона (-∞, +∞) - при движении влево текущий node становится верхней границей - при движении вправо — нижней границей - каждый узел должен удовлетворять: min < node.val < max Python-решение: def is_valid_bst(root): def validate(node, min_val, max_val): if not node: return True if node.val = max_val: return False return ( validate(node.left, min_val, node.val) and validate(node.right, node.val, max_val) ) return validate(root, float("-inf"), float("inf")) Почему этот подход любят на интервью: - показывает понимание BST invariant - O(n) по времени - O(h) по памяти (stack depth) - легко объяснить вслух интервьюеру Частые edge cases, про которые забывают: • пустое дерево → True • один node → True • duplicate values → обычно invalid BST • extreme integer values → в Java/C# лучше использовать Long, а не Integer Какую binary tree задачу вам чаще всего давали на интервью? 📍 Навигация: Вакансии • Задачи • Собесы Библиотека питониста #буст
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!