美文网首页
面试题30. 包含min函数的栈

面试题30. 包含min函数的栈

作者: 寂灭天骄小童鞋 | 来源:发表于2020-03-27 17:12 被阅读0次

https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/submissions/

class MinStack {
    var main = Array<Int>()
    //计入push过的最小值
    var sub = Array<Int>()
    
    init() {
        
    }
    
    func push(_ x: Int) {
        main.append(x)
        if sub.isEmpty || sub.last! >= x{
            sub.append(x)
        }
    }
    
    func pop() {
        if main.last! == sub.last! {
            sub.removeLast()
        }
        main.removeLast()
    }
    
    func top() -> Int {
        return main.last!
    }
    
    func min() -> Int {
        return sub.last!
    }
}


相关文章

网友评论

      本文标题:面试题30. 包含min函数的栈

      本文链接:https://www.haomeiwen.com/subject/sneluhtx.html