Код 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
  1. Отсортируй - тогда внутри работают два указателя.
  2. Дубли пропускаются на всех трёх позициях, иначе будут повторяющиеся тройки.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.