Уточните контракт: индексы или значения, одна пара или все, что вернуть при отсутствии.
Зачем
Зачем это нужно
Сначала объясните наивное решение и инвариант улучшенного варианта.
Проверьте дубликаты, отрицательные числа и запрет использовать элемент повторно.
Вопросы
Частые вопросы
Как попросить помощь без готового ответа?
«Учебная задача: найти два разных индекса с суммой 6 в [3,3]. Задай уточняющие вопросы и дай только одну подсказку, пока я не пришлю попытку». После ответа попросите контрпример к своему алгоритму. Такой режим помогает тренировать ход рассуждения; если сразу читать готовую реализацию, можно запомнить код и не заметить, на каком условии держится его корректность.
Почему пример с одинаковыми числами важен?
Он проверяет, храните ли вы ранее встреченные позиции и не используете ли текущий элемент дважды. Дополните его массивом [3] с той же целью: пары быть не должно. Затем проверьте [-2,8] и пустой список. Попросите пройти алгоритм по шагам с состоянием вспомогательного словаря, чтобы увидеть ошибку порядка операций, а не только неверный итог.
Как обсуждать сложность на интервью?
Назовите размер входа, число проходов и цену операций структуры данных. Для словаря полезно оговорить ожидаемую стоимость поиска и дополнительную память. Не ограничивайтесь фразой «один цикл — линейно»: внутри него может быть повторный поиск. Модель может задавать уточняющие вопросы, а вы должны связать каждое утверждение с конкретной операцией своего решения и его допущениями.
Когда считать задачу разобранной?
Когда вы самостоятельно воспроизводите идею, объясняете инвариант и находите граничные случаи без подсказки. Запустите реализацию локально на согласованных примерах и изменённом условии, например поиске всех пар. Успешная беседа не гарантирует результат собеседования, а уверенный ответ модели не заменяет проверку: в индексации и обработке повторов возможны обычные ошибки реализации.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.