Longest Increasing Subsequence Python
PROGRAM TO FIND THE LONGEST INCREASING SUBSEQUENCE
OUTPUT:
Length of lis is 5
# lis returns length of the longest# increasing subsequence in arr of size ndef lis(arr): n = len(arr) # Declare the list (array) for LIS and # initialize LIS values for all indexes lis = [1]*n # Compute optimized LIS values in bottom up manner for i in range(1, n): for j in range(0, i): if arr[i] > arr[j] and lis[i] < lis[j] + 1: lis[i] = lis[j]+1 # Initialize maximum to 0 to get # the maximum of all LIS maximum = 0 # Pick maximum of all LIS values for i in range(n): maximum = max(maximum, lis[i]) return maximum# end of lis function# Driver program to test above functionarr = [10, 22, 9, 33, 21, 50, 41, 60]print "Length of lis is", lis(arr)
Length of lis is 5
Comments
Post a Comment