Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*#include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- int n;
- printf("Enter the length of the sequence: ");
- scanf("%d", &n);
- int arr[n];
- printf("Enter %d integers: ", n);
- for(int i=0; i<n; i++)
- {
- scanf("%d", &arr[i]);
- }
- int lis[n];
- int prev[n];
- for(int i=0; i<n; i++)
- {
- lis[i] = 1;
- prev[i] = -1;
- for(int j=0; j<i; j++)
- {
- if(arr[j] < arr[i] && lis[j]+1 > lis[i])
- {
- lis[i] = lis[j]+1;
- prev[i] = j;
- }
- }
- }
- int max_lis = 0;
- int end_index = 0;
- for(int i=0; i<n; i++)
- {
- if(lis[i] > max_lis)
- {
- max_lis = lis[i];
- end_index = i;
- }
- }
- int lis_seq[max_lis];
- int j = max_lis-1;
- int k = end_index;
- while(k >= 0)
- {
- lis_seq[j] = arr[k];
- j--;
- k = prev[k];
- }
- printf("The longest increasing subsequence is: ");
- for(int i=0; i<max_lis; i++)
- {
- printf("%d ", lis_seq[i]);
- }
- printf("\n");
- return 0;
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement