← К задачам
Средне · +3Бинарный поискДинамическое программирование

Длина наибольшей возрастающей подпоследовательности

Дан список целых чисел arr.

Реализуйте функцию lis_length(arr), которая возвращает длину наибольшей строго возрастающей подпоследовательности (элементы не обязаны идти подряд, но порядок сохраняется). Эффективное решение работает за O(n log n) с помощью бинарного поиска (bisect).

Формат входа: arr — список целых чисел (возможно пустой).

Формат выхода: целое число — длина LIS.

Примеры:

lis_length([10, 9, 2, 5, 3, 7, 101, 18]) -> 4   # например 2, 5, 7, 101
lis_length([5, 4, 3, 2, 1]) -> 1
lis_length([]) -> 0
def lis_length(arr):
    # ваш код
    pass
Для запуска тестов необходима авторизация.
Поддержать проект