online stock span

🏠

https://leetcode.com/problems/online-stock-span/solution/

Official answer:

 1 class StockSpanner(object):
 2     def __init__(self):
 3         self.stack = []
 4 
 5     def next(self, price):
 6         weight = 1
 7         while self.stack and self.stack[-1][0] <= price:
 8             weight += self.stack.pop()[1]
 9         self.stack.append((price, weight))
10         return weight