zoukankan      html  css  js  c++  java
  • 19 包含min函数的栈

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
     
    思路:一个栈存普通元素,一个最小栈存放目前位置最小的元素,只在压入的时候判断是否为空以及最小元素,其他情况正常处理。
     
    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
    }
  • 相关阅读:
    校赛writeup
    memory-300——Jarvis OJ
    校赛_warmup_pwn
    sctf
    iscc-pwn1
    level3-64——Jarvis OJ
    JarvisOJ——level2
    JarvisOJ——guestbook
    Javris oj——level0
    linux 服务器 tomcat环境部署出错 重启
  • 原文地址:https://www.cnblogs.com/dingxiaoqiang/p/14635152.html
Copyright © 2011-2022 走看看