Longest Increasing Subsequence Java
PROGRAM TO FIND THE LONGEST INCREASING SUBSEQUENCE
OUTPUT:
Length of lis is 5
class LIS { /* lis() returns the length of the longest increasing subsequence in arr[] of size n */ static int lis(int arr[], int n) { int lis[] = new int[n]; int i, j, max = 0; /* Initialize LIS values for all indexes */ for (i = 0; i < n; i++) lis[i] = 1; /* Compute optimized LIS values in bottom up manner */ for (i = 1; i < n; i++) for (j = 0; j < i; j++) if (arr[i] > arr[j] && lis[i] < lis[j] + 1) lis[i] = lis[j] + 1; /* Pick maximum of all LIS values */ for (i = 0; i < n; i++) if (max < lis[i]) max = lis[i]; return max; } public static void main(String args[]) { int arr[] = { 10, 22, 9, 33, 21, 50, 41, 60 }; int n = arr.length; System.out.println("Length of lis is " + lis(arr, n) + "\n"); }}
Length of lis is 5
Comments
Post a Comment