剑指offer--包含min函数的栈

原创 2017年04月25日 16:42:40

题目描述
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。


AC代码:

import java.util.Stack;

public class Solution {

    Stack stack = new Stack();

    public void push(int node) {
        stack.push(node);
    }

    public void pop() {
        stack.pop();
    }

    public int top() {
        return (int)stack.pop();
    }

    public int min() {
        Stack tmp = new Stack();
        int min = (int)stack.pop();
        tmp.push(min);
        while(!stack.isEmpty()){
            int top = (int)stack.pop();
            if ( top < min){
                min = top;
            }
            tmp.push(top);
        }
        while(!tmp.isEmpty()){
            stack.push(tmp.pop());
        }
        return min;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。若需转载,请注明http://blog.csdn.net/qq_30091945 举报

相关文章推荐

剑指Offer-->包含min函数的栈

首先我们可以想到一种很简单的方法:将元素压入栈中,当第二个元素压栈的时候,与第一个元素进行比较,然后使较大的元素出栈,压栈结束后,栈中存留的便是最小的元素。但是,如果我们要想得到下一个最小的元素呢? ...

【剑指offer】包含min函数的栈

剑指offer上的第21题,之前在Cracking the Coding interview上做过,思路参考这里,这次写了测试函数,在九度OJ上测试通过。 题目描述: 定义栈的数据结构,请在该类型中...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

剑指offer----包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。 在该栈中调用 min、push、pop的时间复杂度都为O(1)。 思路: 入栈:利用辅助栈,每次入栈时,如果入栈的...

剑指offer----包含min函数的栈

package offer;/** * 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 */ import java.util.Stack;public class Min...

《剑指offer》——包含min函数的栈

T: 题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 刚开始看到这个题目的时候,有点儿蒙,不理解怎么去创建一个栈的数据结构?java中不都有标准的Sta...

剑指offer-包含min函数的栈

题目描述 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数 分析(分析转载自此网页): google的一道面试题。我看到这道题目时,第一反应就是每次push一个新元素时,将栈...

剑指offer-面试题21-包含min函数的栈

package case21_MyStackWithMin; import java.util.Stack; /** * 题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min...

剑指offer21-包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数 。在该栈

剑指offer(22):包含min函数的栈

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。要求在该栈中,调用min、push、pop的时间复杂度都是O(1)。

剑指offer——面试题21:包含min函数的栈

template void StackWithMin::push(const T& value) { // 把新元素添加到辅助栈 m_data.push(value); /...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)