package main import ( "math" ) var stack = []int{} var minStack = []int{math.MaxInt64} func Push(node int) { stack = append(stack, node) top := minStack[len(minStack) - 1] minStack = append(minStack, min(node, top)) } func Pop() { stack = stack[: len(stack) - 1] minStack = minStack[: len(minStack) - 1] } func Top() int { return stack[len(stack) - 1] } func Min() int { return minStack[len(minStack) - 1] } func min(x, y int) int { if x < y{ return x } return y }
原文:https://www.cnblogs.com/dingxiaoqiang/p/14635152.html