Cho một mảng các số nguyên nums. Hãy tìm độ dài của dãy con tăng nghiêm ngặt dài nhất (LIS).
Một dãy con là dãy thu được bằng cách xóa bớt một số phần tử (hoặc không xóa phần tử nào) mà không làm thay đổi thứ tự tương đối của các phần tử còn lại.
Ví dụ 1:
Input: nums = [10, 9, 2, 5, 3, 7, 101, 18]
Output: 4
Giải thích: Dãy con tăng dài nhất là [2, 3, 7, 101] hoặc [2, 5, 7, 101], có độ dài 4.
Ví dụ 2:
Input: nums = [0, 1, 0, 3, 2, 3]
Output: 4
Định Dạng Đầu Vào (Input)
Định Dạng Đầu Ra (Output)
Ràng Buộc (Constraints)
1 <= nums.length <= 2500-10^4 <= nums[i] <= 10^4
Ví Dụ Kiểm Thử Mẫu
[10, 9, 2, 5, 3, 7, 101, 18]
4
[0, 1, 0, 3, 2, 3]
4
Quy Hoạch Động O(n^2) hoặc Nhị Phân O(n log n)
Gọi dp[i] là độ dài LIS kết thúc tại chỉ số i.
dp[i] = 1 + max(dp[j]) với mọi j < i và nums[j] < nums[i].
Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.



