Back to Practice Dashboard
Competitive ProgrammingEasy

Longest Increasing Subsequence

Learn how to solve the 'Longest Increasing Subsequence' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Given an integer array nums, return the length of the longest strictly increasing subsequence.

Write a function lengthOfLIS(nums: List[int]) -> int.

Constraints
  • 1 <= len(nums) <= 2500
  • -10^4 <= nums[i] <= 10^4

Examples

Example 1
Input
nums = [10,9,2,5,3,7,101,18]
Output
4
Explanation

The longest increasing subsequence is [2,3,7,101], therefore the length is 4.

Example 2
Input
nums = [0,1,0,3,2,3]
Output
4
Explanation

The longest increasing subsequence is [0,1,2,3], length is 4.

Example 3
Input
nums = [7,7,7,7,7,7,7]
Output
1
Explanation

The longest increasing subsequence is [7], length is 1.

Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor