Given an integer array nums, return the length of the longest strictly increasing subsequence. Pattern focus: LIS. Build the best subsequence ending at each position and reuse previous states efficiently.
nums = array of integers
length of the longest strictly increasing subsequence
Example 1:
Input:
nums = [10,9,2,5,3,7,101,18]
Output:
4
Explanation:
One longest increasing subsequence is [2, 3, 7, 101].
Example 2:
Input:
nums = [0,1,0,3,2,3]
Output:
4
Explanation:
One longest increasing subsequence is [0, 1, 2, 3].
Example 3:
Input:
nums = [7,7,7,7,7]
Output:
1
Explanation:
All values are equal, so the longest strictly increasing subsequence has length 1.