Уведомления

Группа в Telegram: @pythonsu

#1 Июль 21, 2018 15:38:43

codenoob
Зарегистрирован: 2018-07-21
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Longest Increasing Subsequence нужна помощь в решении этой проблемы.

Как решить эту проблему - Longest Increasing Subsequence Problem Link в python3

Find the longest increasing subsequence of a given sequence / array.
Input : [0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]
Output : 6

The sequence : [0, 2, 6, 9, 13, 15] or [0, 4, 6, 9, 11, 15] or [0, 4, 6, 9, 13, 15]

Офлайн

#2 Июль 22, 2018 06:20:24

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Longest Increasing Subsequence нужна помощь в решении этой проблемы.

Однопроходный алгоритм без флагов.

длина_максимальной_последовательности := 0
длина_текущей_последовательности := 0
предыдущий_элемент := неопр

цикл для всех текущий_элемент из последовательность_элементов выполнять
если предыдущий_элемент = неопр то
длина_текущей_последовательности := 1
длина_максимальной_последовательности := 1
предыдущий_элемент := текущий_элемент
продолжить цикл
конец если
если текущий_элемент >= предыдущий_элемент то
длина_текущей_последовательности := длина_текущей_последовательности + 1
иначе
если длина_текущей_последовательности > длина_максимальной_последовательности то
длина_максимальной_последовательности := длина_текущей_последовательности
конец если
длина_текущей_последовательности := 1
конец если
предыдущий_элемент := текущий_элемент
конец цикла
если длина_текущей_последовательности > длина_максимальной_последовательности то
длина_максимальной_последовательности := длина_текущей_последовательности
конец если



Отредактировано py.user.next (Июль 22, 2018 06:25:23)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version