Ctrl K

Четыре числа с заданной суммой

Средняя
Дан массив целых чисел values и число total. Найдите все различные наборы из четырёх элементов массива (с разными индексами), сумма которых равна total. Наборы сравниваются по значениям: два набора из одних и тех же чисел — это один набор, даже если числа взяты с других позиций. Каждый набор верните списком из четырёх чисел. Порядок наборов в ответе и порядок чисел внутри набора не важны.
Пример 1
values=[3, -1, 2, 0, -2, 1], total=2 → [[-2, -1, 2, 3], [-2, 0, 1, 3], [-1, 0, 1, 2]]

В сумме 2 дают три различных набора: -2, -1, 2, 3; -2, 0, 1, 3 и -1, 0, 1, 2.

Пример 2
values=[5, 5, 5, 5, 5, 5], total=20 → [[5, 5, 5, 5]]

Четвёрок индексов много, но набор значений один — 5, 5, 5, 5.

Пример 3
values=[1, 2, 3], total=6 → []

Чисел меньше четырёх — ответ пустой.

Ограничения
  • 1 ≤ len(values) ≤ 200
  • -10⁹ ≤ values[i] ≤ 10⁹
  • -10⁹ ≤ total ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиТройки с нулевой суммой СредняяСумма тройки ближе всего к цели СредняяФлажки трёх цветов СредняяСтудии для записи СредняяТройки с суммой меньше порога Средняя
загружаем Python…
Вход
values=[3, -1, 2, 0, -2, 1], total=2
Ожидается
[[-2, -1, 2, 3], [-2, 0, 1, 3], [-1, 0, 1, 2]]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.