题解 | #包含min函数的栈#

包含min函数的栈

https://www.nowcoder.com/practice/4c776177d2c04c2494f2555c9fcc1e49

package main

var sta = make([]int, 1)
var top1 = 0
var miSt = make([]int, 1)
var top2 = 0

func Push(node int) {
	if len(sta) == top1 {
		sta = append(sta, node)
	} else {
		sta[top1] = node
	}
	if top2 == 0 || sta[miSt[top2-1]] > node {
		if len(miSt) == top2 {
			miSt = append(miSt, top1)
		} else {
			miSt[top2] = top1
		}
		top2++
	}
	top1++
}
func Pop() {
	top1--
	if top2 > 0 && miSt[top2-1] == top1 {
		top2--
	}
	
}
func Top() int {
	return sta[top1-1]
}
func Min() int {
	return sta[miSt[top2-1]]
}

全部评论

相关推荐

dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
10-07 20:48
门头沟学院 Java
不敢追175女神:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务