Given an integer array nums, return the length of the longest strictly increasing subsequence.
Sample Input:
[10, 9, 2, 5, 3, 7, 101, 18]
Hints
Hint 1
Use dynamic programming with binary search
Hint 2
Maintain an array of smallest tail values
Hint 3
Use binary search to find insertion position