Files
cpp-flashcards/org/study_deck_02/dsa/1-d-dynamic-programming/0300-longest-increasing-subsequence.org
T
tomatocream 1dec88aaf2 feat: populate note files with problem descriptions and code stubs
Add populate-notes.mjs that fetches problem descriptions and
Python/C++ code stubs from LeetCode's GraphQL API. Populated
all 197 NeetCode 150 note files with:
- Problem description (examples, constraints)
- Python code stub (function signature)
- C++ code stub (function signature + includes)

API responses cached in leetcode/.cache/leetcode/ for instant re-runs.
2026-06-01 17:22:07 +08:00

1.1 KiB

TODO 0300. Longest Increasing Subsequence   medium

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

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

Example 3:

Input: nums = [7,7,7,7,7,7,7]
Output: 1

Constraints:

  • 1 <= nums.length <= 2500
  • -10^{4} <= nums[i] <= 10^{4}

Follow up: Can you come up with an algorithm that runs in O(n log(n)) time complexity?

TODO Approach

Write your approach here.

TODO Python

class Solution:
    def lengthOfLIS(self, nums: List[int]) -> int:

TODO C++

class Solution {
public:
    int lengthOfLIS(vector<int>& nums) {
        
    }
};