- 413
- 300 (LIS)
- 1671 (LIS + LDS)
- 1048 (hashmap)
- 2070
class Solution:
def maximumBeauty(self, items: List[List[int]], queries: List[int]) -> List[int]:
items.sort()
# how to sort array with index
queries = sorted([(q, i) for i,q in enumerate(queries)])
ret = [0]*len(queries)
j = 0
cur_max = 0
for q,i in queries:
while j<len(items) and items[j][0]<=q:
cur_max = max(cur_max, items[j][1])
j+=1
ret[i] = cur_max
return ret