Ctrl K

Все неубывающие подпоследовательности

Средняя
Дан массив целых чисел values. Подпоследовательность получается вычёркиванием из массива любых элементов с сохранением порядка оставшихся. Найдите все различные подпоследовательности длиной не меньше двух, в которых каждый следующий элемент не меньше предыдущего. Две подпоследовательности считаются одинаковыми, если совпадают их значения, даже если они взяты с разных позиций. Верните их в любом порядке; внутри каждой подпоследовательности элементы идут в том порядке, в каком стоят в массиве.
Пример 1
values=[3, 5, 5] → [[3, 5, 5], [3, 5], [5, 5]]

Подходят [3, 5], [3, 5, 5] и [5, 5]. Пару [3, 5] можно собрать двумя способами (с любой из пятёрок), но в ответе она встречается один раз.

Пример 2
values=[9, 8, 7] → []

Значения только убывают, поэтому ни одна подпоследовательность из двух и более элементов не подходит.

Пример 3
values=[-2, 0, -2] → [[-2, 0], [-2, -2]]

Подходят [-2, 0] и [-2, -2]; [0, -2] убывает.

Ограничения
  • 1 ≤ len(values) ≤ 15
  • -100 ≤ values[i] ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прямых через точки СредняяЦепочки с квадратными суммами СложнаяВсе наборы добавок СредняяВсе разные наборы карт СредняяСамая непохожая пара Средняя
загружаем Python…
Вход
values=[3, 5, 5]
Ожидается
[[3, 5, 5], [3, 5], [5, 5]]

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