This practice workspace is built for desktop. Open it on a larger screen to start solving.
Longest Increasing Subsequence
Given an integer array nums, return the length of the longest strictly increasing subsequence.
A subsequence is derived from another array by deleting some or no elements without changing the order of the remaining elements.
The O(n log n) approach uses patience sorting: maintain an array tails where tails[k] is the smallest tail of any increasing subsequence of length k + 1, and binary-search to find the position to extend or replace.
Examples
Constraints
- 1 <= nums.length <= 2500
- -10^4 <= nums[i] <= 10^4
Preview Mode
This is a read-only preview of DSAMind's AI coaching. Sign up to get custom feedback on your own solution.
Your approach
- Pattern:Dynamic Programming
- Time:O(N)
- Space:O(1)
Complete approach — pattern and complexity both named.
Coach
What you got right
You correctly matched the sorted input requirement and implemented a linear-time scan using two pointers.
Where it diverged
No divergence detected. The code correctly aligns with the stated approach.
Next attempt: focus on
Try solving related sliding window problems to build familiarity with two-pointer variants.
Signals
No signals fired — clean run, you stayed in flow.