LeetCode 300. Longest Increasing Subsequence
Dynamic Programming | Binary Search
Given an integer array nums
, return the length of the longest strictly increasing subsequence.
A subsequence is a sequence that can be derived from an array by deleting some or no elements without changing the order of the remaining elements. For example, [3,6,2,7]
is a subsequence of the array [0,3,1,6,2,2,7]
.
Example 1:
Example 2:
Example 3:
Constraints:
1 <= nums.length <= 2500
-104 <= nums[i] <= 104
Follow up:
Could you come up with the
O(n2)
solution?Could you improve it to
O(n log(n))
time complexity?
Solution:
Solution 1: DP
Time Complexity: O(n^2)
Space Complexity: O(n)
Solution 2: Binary Search with DP
Time Complexity: O(nlog(n))
Space Complexity: O(n)
PreviousLeetcode 297. Serialize and Deserialize Binary TreeNextLeetCode 301. Remove Invalid Parentheses
Last updated