🎉 One-stop destination for all your technical interview Preparation 🎉
int longestIncreasingSubsequence(int arr[], int n)
{
vector<int> arr;
arr.push_back(arr[0]);
for (int i = 1; i < n; i++) {
if (arr[i] > arr.back()) {
arr.push_back(arr[i]);
} else {
int idx = lower_bound(arr.begin(), arr.end(), arr[i]) - arr.begin();
arr[idx] = arr[i];
}
}
return arr.size();
}