Как восстановить маршрут из билетов без разветвлений
Начало — город отправления, который нигде не встречается как прибытие. Постройте отображение отправление→прибытие и последовательно пройдите от начала до отсутствия следующего билета.
Читать ответПодготовка к интервью
978 вопросов с собеседований в Яндекс
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, backend, database.
Каталог
Начало — город отправления, который нигде не встречается как прибытие. Постройте отображение отправление→прибытие и последовательно пройдите от начала до отсутствия следующего билета.
Читать ответЭто задача о минимальном окне, содержащем все уникальные символы a. Исправьте синтаксис и двигайте две границы, увеличивая счётчик только при первом появлении нужного символа.
Читать ответСообщите, были ли реальные контакты с этой компанией, когда и на какую роль. Это помогает избежать дублирования процессов и понять, что изменилось с прошлого общения.
Читать ответФункция ищет минимальную подстроку, содержащую все различные символы a, но игнорирует их кратность. При пустом a она ошибается, а копирование каждого лучшего среза ухудшает сложность.
Читать ответBufferError означает, что операция с буфером не может быть выполнена. Например, bytearray нельзя увеличить, пока его память экспортирована через активный memoryview.
Читать ответВремя O(n+m), дополнительная память O(m). Инициализация и обход всего алфавита учитываются отдельно от прохода по тексту.
Читать ответМинимальное окно ищется двумя указателями и счётчиком непокрытых символов. Когда окно содержит весь a, левую границу сдвигают до потери полноты.
Читать ответЕсли min_s должна искать минимальную подстроку s, содержащую все символы a с учётом повторов, используйте скользящее окно и Counter оставшихся потребностей.
Читать ответПоддерживайте счётчики нужных символов в окне и число покрытых требований. Окно подходит, когда все символы требуемого алфавита представлены хотя бы один раз.
Читать ответtuple(iterable) создаёт кортеж из элементов итерируемого объекта, сохраняя порядок обхода. Вызов tuple() без аргументов возвращает пустой кортеж.
Читать ответПостройте неориентированный граф по парам городов, начните с вершины степени 1 и каждый раз идите к соседу, отличному от предыдущего. Обратный маршрут также корректен.
Читать ответДля ненаправленной цепочки без повторных посещений началом можно выбрать любой город степени 1. Для направленного маршрута ищут город, который встречается в отправлениях, но не в прибытиях.
Читать ответ