There was an error while loading. Please reload this page.
1 parent a200178 commit 08efb30Copy full SHA for 08efb30
MayChallenge/Week3/19:OnlineStockSpan.cpp
@@ -0,0 +1,24 @@
1
+class StockSpanner {
2
+public:
3
+ stack<pair<int, int>> stocks;
4
+ int dayCount;
5
+ StockSpanner() {
6
+ dayCount = 0;
7
+ }
8
+
9
+ int next(int price) {
10
+ int n = stocks.size();
11
+ while (!stocks.empty() && stocks.top().second <= price)
12
+ stocks.pop();
13
+ dayCount++;
14
+ int span = (stocks.empty()) ? (dayCount) : (dayCount - stocks.top().first);
15
+ stocks.push(make_pair(dayCount, price));
16
+ return span;
17
18
+};
19
20
+/**
21
+ * Your StockSpanner object will be instantiated and called as such:
22
+ * StockSpanner* obj = new StockSpanner();
23
+ * int param_1 = obj->next(price);
24
+ */
0 commit comments