1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| class StockSpanner { public: StockSpanner() {
}
int next(int price) { int span = 1; while(!mStack.empty() && price >= mStack.top().first){ span += mStack.top().second; mStack.pop(); } mStack.emplace(price, span); return span;
} private: stack<pair<int, int>> mStack; };
|