⚙️Algorithm⚙️
Longest Increasing Subsequence.
들눈
2023. 5. 24. 13:49
def longestIncreasingSubsequence(sequence):
n = len(sequence)
dp = [1] * n
prev = [-1] * n
for i in range(1, n):
for j in range(i):
if sequence[i] > sequence[j] and dp[i] < dp[j] + 1:
dp[i] = dp[j] + 1
prev[i] = j
max_length = max(dp)
lis = []
idx = dp.index(max_length)
while idx != -1:
lis.append(sequence[idx])
idx = prev[idx]
lis.reverse()
return lis
sequence = [1, 10, 5, 20, 15, 10, 30, 49, 25, 35, 66, 75, 44]
lis = longestIncreasingSubsequence(sequence)
print("Longest Increasing Subsequence:", lis)