mirror of
https://hub.njuu.cf/TheAlgorithms/Python.git
synced 2023-10-11 13:06:12 +08:00
Create longest_increasing_subsequence.py
The Longest Increasing Subsequence (LIS) problem is to find the length of the longest subsequence of a given sequence such that all elements of the subsequence are sorted in increasing order. For example, the length of LIS for {10, 22, 9, 33, 21, 50, 41, 60, 80} is 6
This commit is contained in:
parent
bdde8268c6
commit
436edf3a88
12
dynamic_programming/longest_increasing_subsequence.py
Normal file
12
dynamic_programming/longest_increasing_subsequence.py
Normal file
@ -0,0 +1,12 @@
|
||||
"""
|
||||
The Longest Increasing Subsequence (LIS) problem is to find the length of the longest subsequence of a given sequence such that all elements of the subsequence are sorted in increasing order. For example, the length of LIS for {10, 22, 9, 33, 21, 50, 41, 60, 80} is 6
|
||||
"""
|
||||
def LIS(arr):
|
||||
n= len(arr)
|
||||
lis = [1]*n
|
||||
|
||||
for i in range(1, n):
|
||||
for j in range(0, i):
|
||||
if arr[i] > arr[j] and lis[i] <= lis[j]:
|
||||
lis[i] = lis[j] + 1
|
||||
return max(lis)
|
Loading…
Reference in New Issue
Block a user