Найти - Пользователи
Полная версия: Longest Increasing Subsequence нужна помощь в решении этой проблемы.
Начало » Python для новичков » Longest Increasing Subsequence нужна помощь в решении этой проблемы.
1
codenoob
Как решить эту проблему - 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]

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

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

цикл для всех текущий_элемент из последовательность_элементов выполнять
если предыдущий_элемент = неопр то
длина_текущей_последовательности := 1
длина_максимальной_последовательности := 1
предыдущий_элемент := текущий_элемент
продолжить цикл
конец если
если текущий_элемент >= предыдущий_элемент то
длина_текущей_последовательности := длина_текущей_последовательности + 1
иначе
если длина_текущей_последовательности > длина_максимальной_последовательности то
длина_максимальной_последовательности := длина_текущей_последовательности
конец если
длина_текущей_последовательности := 1
конец если
предыдущий_элемент := текущий_элемент
конец цикла
если длина_текущей_последовательности > длина_максимальной_последовательности то
длина_максимальной_последовательности := длина_текущей_последовательности
конец если
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB