leetcode 300. 最长递增子序列

给定一个无序的整数数组,找到其中最长递增子序列的长度。

示例:

输入: [10,9,2,5,3,7,101,18]
输出: 4 
解释: 最长的递增子序列是 [2,3,7,101],它的长度是 4。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from bisect import bisect_left
class Solution(object):
def lengthOfLIS(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
res = []
for i in nums:
index = bisect_left(res,i)
if index == len(res):
res.append(i)
else:
res[index] = i
return len(res)