2070. Most Beautiful Item for Each Query (Medium) - TengnanYao/daily_leetcode GitHub Wiki

class Solution:
    def maximumBeauty(self, items: List[List[int]], queries: List[int]) -> List[int]:
        items.sort()
        arr = [items[0]]
        for a, b in items[1 : ]:
            arr.append([a, max(arr[-1][1], b)])
        result = [0] * len(queries)
        for i, num in enumerate(queries):
            if num >= arr[0][0]:
                j = bisect_right(arr, [num, inf])
                result[i] = arr[j - 1][1]
        return result