354. 俄罗斯套娃信封问题
最后更新于
最后更新于
class Solution:
def maxEnvelopes(self, envelopes) -> int:
def lengthOfLIS(nums):
n = len(nums)
maxLen = 0
dp = [1] * n
for i in range(n):
for j in range(i):
if nums[i] > nums[j]:
dp[i] = max(dp[i], dp[j] + 1)
maxLen = max(maxLen, dp[i])
return maxLen
# 先排序整理,以w为升序,w相等时h降序
envelopes.sort(key=lambda x: (x[0], -x[1]))
nums = []
for e in envelopes:
nums.append(e[1])
return lengthOfLIS(nums)