Код Senior Два указателя обновлено
Тройки с нулевой суммой
Условие
Все уникальные тройки с суммой ноль. Тройки отсортированы по возрастанию, результат - по возрастанию первой, затем второй компоненты.
Примеры
threeSum([-1, 0, 1, 2, -1, -4]) // [[-1, -1, 2], [-1, 0, 1]]
threeSum([0, 0, 0, 0]) // [[0, 0, 0]]
threeSum([1, 2, 3]) // []
Как подойти
Сведение к задаче двух указателей: фиксируем первый элемент, дальше ищем пару. O(n²) вместо O(n³). Пропуск дублей - главный источник ошибок: нужен и для внешнего цикла, и для обоих указателей после найденной тройки.
Подсказки: 2
- Отсортируй - тогда внутри работают два указателя.
- Дубли пропускаются на всех трёх позициях, иначе будут повторяющиеся тройки.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.