Сегодня рассмотрим с вами задачу, которая является неким объединением подходов из предыдущих двух.
Сложность: 🟠 Cредняя
ℹ️ Описание
Дан массив целых чисел nums. Напишите функцию, чтобы найти в массиве все уникальные тройки чисел, сумма которых равна нулю. В одной тройке [nums[i], nums[j], nums[k]] один и тот же элемент не может повторяться дважды, то есть
i != j, i != k и j != k.
Обратите внимание, что в ответе не должно быть повторяющихся троек. Порядок троек и чисел в тройках не имеет значения.
⚠️ Ограничения
🔹В массиве может быть от 3 до 3000 значений
🔹В качестве значений могут быть числа в диапазоне от -10^5 до 10^5
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]]✅ Решение
Эту задачу можно решить несколькими способами. Поэтому рассмотрим каждый из них по отдельности.
#medium #arrays