我们采用DP的方法进行解决,首先我们肯定要进行排序,我们首先会按照第一个数进行排序,但是相同的怎么办?我们在对相同的第一个的进行倒序排序,排序后,信封宽度是升序,必然是后面的信封套前面的信封。按h降序排列是为了找最长递增子序列时防止同一宽度的信封被选择多次。。之后我们通过循环进行获得最大值。
if not envelopes:
return 0
N = len(envelopes)
envelopes.sort(key=lambda x: (x[0], -x[1]))
res =<