n = int(input()) baowu = [] for i in range(n):     baowu.append(list(map(int,input().split()))) def maxEnvelopes1(baowu):     '''     动态+二分查找     :param envelopes:     :return:     '''     baowu.sort(key=lambda x: (x[0], -x[1]))     nums = []     for i in baowu:         nums.append(i[1])     stack = [0] * len(nums)     maxl = 0     for x in nums:         low, high = 0, maxl         while low < high:             mid = low +(high - low) // 2             # 只要改这一行代码即可             if stack[mid] <= x:                 low = mid + 1             else:                 high = mid         stack[low] = x         maxl = max(low + 1, maxl)     return maxl print(maxEnvelopes1(baowu)) leetcode 354  只要改一行代码
点赞 评论

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务