Find Building Where Alice and Bob Can Meet
hard · verified · 52.3% accepted · 844 likes · top 42%
array · binary search · stack · binary indexed tree · segment tree · heap (priority queue) · monotonic stack
Description
You are given a 0-indexed array heights of positive integers, where heights[i] represents the height of the ith building.
If a person is in building i, they can move to any other building j if and only if i < j and heights[i] < heights[j].
You are also given another array queries where queries[i] = [ai, bi]. On the ith query, Alice is in building ai while Bob is in building bi.
Return an array ans where ans[i] is the index of the leftmost building where Alice and Bob can meet on the ith query. If Alice and Bob cannot move to a common building on query i, set ans[i] to -1.
Example 1:
Example 2:
Solution