Description

Submission
class Solution {
public:
vector<int> canSeePersonsCount(vector<int>& heights) {
stack<int> stk;
int n = heights.size();
vector<int> rets(n);
for(int i = n - 1; i >= 0; --i) {
int cnt = 0;
while(!stk.empty() && stk.top() < heights[i]) {
stk.pop();
++cnt;
}
if(!stk.empty()) ++cnt;
stk.push(heights[i]);
rets[i] = cnt;
}
return rets;
}
};
// 10 6 8 5 11 9
// 9 11 -> 11
// 11 5
// decreasing stack
