Код Junior Память и производительность спрашивают часто обновлено
Найти пару с суммой быстрее O(n²)
Условие
Напишите pair_indices(nums, target): верните индексы [i, j] (i < j) первой пары по возрастанию j, для которой nums[i] + nums[j] == target; при нескольких i для одного j берите наименьший i. Если пары нет, []. Решение должно быть O(n).
Примеры
pair_indices([2, 7, 11, 15], 9) // [0, 1]
pair_indices([3, 3], 6) // [0, 1]
pair_indices([1, 2, 3], 7) // []
Как подойти
Подсказки: 1
- Храните уже просмотренные значения в словаре.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Ещё по теме «Память и производительность»
- Встроенные функции против ручного цикла
- Пересечение больших списков id
- Числа Фибоначчи без экспоненты
- Управление памятью в CPython
- Инструменты профилирования Python
- Почему Python медленнее C
- gc.freeze в форкающихся воркерах
- Поколения сборщика мусора