zoukankan      html  css  js  c++  java
  • 剑指offer[20]——包含min函数的栈

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。

    注意:保证测试中不会当栈为空的时候,对栈调用pop()或者min()或者top()方法。

    这道题目我的做法很简单,pushpop都是调用的原生方法,主要需要自己写的函数是min,我的写法也很简单,就是遍历一次数组,记录下遍历过程中比当前纪录的最小值还要小的数,最后返回即可。

    let arr = [];
    function push(node)
    {
        return arr.push(node);
    }
    function pop()
    {
        return arr.pop();
    }
    function top()
    {
        return arr[arr.length-1];
    }
    function min()
    {
        let _min = 0;
        let first = true;
        for(let item of arr){
            if(first){first=false;_min=item;}
            else if(item<_min){
                _min = item;
            }
        }
        return _min;
    }
    
  • 相关阅读:
    hdu 2082 找单词
    hdu 2079 选课时间(题目已修改,注意读题)
    hdu 2073 无限的路
    hdu 2062 Subset sequence
    poj 2777 Count Color
    hdu 2067 小兔的棋盘
    卡特兰数
    poj3468
    hdu1394
    hdu1166(线段树之单点更新)
  • 原文地址:https://www.cnblogs.com/Jacob98/p/12485287.html
Copyright © 2011-2022 走看看