单调栈
class Solution {
public int[] canSeePersonsCount(int[] heights) {
int n = heights.length;
Deque<Integer> deque = new LinkedList<>();
int[] ans = new int[n];
for(int i = n-1; i >= 0 ;i--){
while(deque.size()!=0 && heights[deque.peekFirst()] < heights[i]){
deque.pollFirst();
ans[i] += 1;
}
if(deque.size()!=0)
ans[i] += 1;
deque.offerFirst(i);
}
return ans;
}
}