剑指offer-定义栈实现栈最小元素的min函数
来源:互联网 发布:辐射4 斯嘉丽数据 编辑:程序博客网 时间:2024/05/23 01:18
转载源地址:
https://www.nowcoder.com/questionTerminal/4c776177d2c04c2494f2555c9fcc1e49
来源:牛客网
==解法1
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.stack = [] self.assist = [] def push(self, node): min = self.min() if not min or node < min: self.assist.append(node) else: self.assist.append(min) self.stack.append(node) def pop(self): if self.stack: self.assist.pop() return self.stack.pop() def top(self): # write code here if self.stack: return self.stack[-1] def min(self): # write code here if self.assist: return self.assist[-1]
这个Yannyezixin 应该是解释的比较好的一个了,解释如下:
Yannyezixin:
思路:利用一个辅助栈来存放最小值
栈 3,4,2,5,1辅助栈 3,3,2,2,1
每入栈一次,就与辅助栈顶比较大小,如果小就入栈,如果大就入栈当前的辅助栈顶
当出栈时,辅助栈也要出栈
这种做法可以保证辅助栈顶一定都当前栈的最小值
==解法2
这个是,牛客网华科平凡回答的,用的python列表函数来操作的,很简单。
# -*- coding:utf-8 -*-class Solution: def __init__(self): self.arr=[] def push(self, node): self.arr.append(node) def pop(self): return self.arr.pop() def top(self): return self.arr[-1] def min(self): return min(self.arr)
阅读全文
0 0
- 剑指offer-定义栈实现栈最小元素的min函数
- 剑指offer——定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 剑指offer:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数
- 剑指offer-定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- java 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 17.定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
- 定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素
- 定义栈的数据结构,要求添加一个 min 函数,能够得到栈的最小元素
- java实现定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数
- 【剑指offer】实现包含min函数的栈
- 基于本人多年工作经验谈谈对于BIM的理解
- NIO详解 4
- jeesite企业网站开发教程(所用到的非Jeesite本身知识点汇总)
- HDOJ 2161 Primes(水题)
- Java中的比较问题详解
- 剑指offer-定义栈实现栈最小元素的min函数
- 编程练习(13)
- Leetcode:205. Isomorphic Strings (同构字符串)
- osgi框架bundle中明明公开了的包,却引用不到里面的类
- Mybatis 缓存(一二级缓存)
- spring mvc 解决 问题
- express 数据库操作
- 存储过程、函数、带事务的触发器——对比
- java详解 --- 初识Java