300. Longest Increasing Subsequence (Medium)