300. Longest Increasing Subsequence
Given an integer array nums
, return the length of the longest strictly increasing subsequence.
A subsequence is a sequence that can be derived from an array by deleting some or no elements without changing the order of the remaining elements. For example, [3,6,2,7]
is a subsequence of the array [0,3,1,6,2,2,7]
.
def lengthOfLIS(self, nums: List[int]):
dp = []
for n in nums:
d = len(dp) - 1
while d>=0 and n <= dp[d]:
d -= 1
d = d+1
if d == len(dp):
dp.append(n)
else:
dp[d] = n
return len(dp)
Comments
Post a Comment