5a3c1b2d创建于 2025年8月3日历史提交
//https://leetcode.com/problems/online-stock-span/
class StockSpanner {
    constructor() {
        this.stack = [];
    }

    // Time O(1) | Space O(1)
    isEmpty() {
        return this.stack.length === 0;
    }

    // Time O(1) | Space O(1)
    peek() {
        return this.isEmpty() ? null : this.stack[this.stack.length - 1];
    }

    // Time O(1) | Space O(1)
    push(val) {
        return this.stack.push(val);
    }

    // Time O(1) | Space O(1)
    pop() {
        return this.stack.pop();
    }

    // Time O(n) | Space O(1)
    next(price) {
        let currunt = 1;
        while (this.peek() && this.peek()[0] <= price) {
            currunt += this.pop()[1];
        }
        this.push([price, currunt]);
        return this.peek()[1];
    }
}