Ctrl K

Сколько самых длинных возрастающих

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

Наибольшая длина — 3, и таких выборок три: [3, 4, 5], [1, 4, 5] и [1, 2, 5].

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

Рост должен быть строгим, поэтому самая длинная выборка — одно число, а взять его можно тремя способами.

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

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