题解 | #包含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]]
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-01 11:27
点赞 评论 收藏
分享
05-09 14:45
门头沟学院 Java
点赞 评论 收藏
分享
牛客92804383...:在他心里你已经是他的员工了
点赞 评论 收藏
分享
测试糕手手:社会第一课,随便吹牛逼,直接说四个月,别老实。老实人只会被欺负
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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