int main(int argc, char const *argv[]) { int arr[] = { 5, 3, 4, 8, 6, 7 }; int max; max = maxlength(arr, 6); printf("%d\n", max); return 0; }
int LIS_1(int A[], int n){ vector<int> maxlength(n, 0); maxlength[0] = 1; int maxLength = maxlength[0]; for (int i = 1; i < n; ++i) { int max = 0; for (int j = 0; j < i; ++j) { if (A[j] < A[i]&& maxlength[j] > max) { max = maxlength[j]; } } maxlength[i] = max + 1; maxLength = maxlength[i] > maxLength ? maxlength[i] : maxLength; } return maxLength; }