3Sum

MediumAlgo
10:00
Лучше работает на десктопе
Two PointersSorting

Дан массив целых чисел nums. Найдите все уникальные тройки [nums[i], nums[j], nums[k]] такие, что i ≠ j ≠ k и nums[i] + nums[j] + nums[k] == 0.

Тройки не должны повторяться. Каждая тройка отсортирована по возрастанию. Тройки отсортированы лексикографически.

Сигнатура

def three_sum(nums: list[int]) -> list[list[int]]:

Примеры

three_sum([-1, 0, 1, 2, -1, -4]) → [[-1, -1, 2], [-1, 0, 1]]
three_sum([0, 1, 1]) → []
three_sum([0, 0, 0]) → [[0, 0, 0]]

Constraints

- 3 ≤ len(nums) ≤ 3000
- -10⁵ ≤ nums[i] ≤ 10⁵

Примеры

Пример 1

Вход:
nums = [-1,0,1,2,-1,-4]
Выход:[[-1,-1,2],[-1,0,1]]

Пример 2

Вход:
nums = [0,1,1]
Выход:[]

Пример 3

Вход:
nums = [0,0,0]
Выход:[[0,0,0]]
Консоль
Нажмите Run или Ctrl+Enter для запуска