Complete-Preparation

🎉 One-stop destination for all your technical interview Preparation 🎉

View the Project on GitHub

Longest Increasing Subsequence 🌟🌟

Binary search solution

Code

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();
}