题解 | #设计getMin功能的栈#

设计getMin功能的栈

http://www.nowcoder.com/practice/05e57ce2cd8e4a1eae8c3b0a7e9886be

class Stack:
    def __init__(self):
        self.A = []
        self.B = []
    def push(self, val):
        self.A.append(val)
        if not self.B or self.B[-1] >= val:
            self.B.append(val)
    def pop(self):
        if self.B and self.A.pop() == self.B[-1]:
            self.B.pop()
    def getMin(self):
        if self.B:
            return self.B[-1]
        return -1

s = Stack()
n = int(input())
for _ in range(n):
    l = input().split()
    if l[0] == 'push':
        s.push(int(l[1]))
    elif l[0] == 'pop':
        s.pop()
    elif l[0] == 'getMin':
        print(s.getMin())       
全部评论

相关推荐

不愿透露姓名的神秘牛友
06-19 17:02
鼠鼠深知pdd的强度很大,但是现在没有大厂offer,只有一些不知名小厂我是拒绝等秋招呢,还是接下?求大家帮忙判断一下!
水中水之下水道的鼠鼠:接了再说,不图转正的话混个实习经历也不错
投递拼多多集团-PDD等公司10个岗位 >
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务