21包含min函数的栈python
来源:互联网 发布:数据库设计教程 pdf 编辑:程序博客网 时间:2024/05/18 03:13
题目:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
思路:设置一个辅助栈来保存最小值,每次在原始栈压入元素的时候同时更新辅助栈
class Solution: def __init__(self): self.stack = [] self.min_stack = [] def push(self, node): # write code here self.stack.append(node) #如果新压入的值比最小值小,则向辅助栈压入新值,否则压入最小值 if self.min_stack == [] or node < self.min(): self.min_stack.append(node) else: temp = self.min() self.min_stack.append(temp) def pop(self): # 只要不为空就删除原始栈和辅助栈的元素 if self.min_stack == [] or self.stack == []: return None self.min_stack.pop() self.stack.pop() def top(self):#返回栈顶 # write code here return self.stack[-1] def min(self): # 返回当前最小值 return self.min_stack[-1]
阅读全文
0 0
- 21包含min函数的栈python
- 21 包含 min 函数的栈
- 题目21:包含min函数的栈
- 21、包含min函数的栈
- 21_包含min函数的栈
- 剑21-包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min函数的栈
- 包含min 函数的栈
- 包含min函数的栈
- 包含min函数的栈
- MySQL Hash索引和B-Tree索引的区别
- SQL语句查询,以及常用函数
- iOS开发中的内存分配(堆和栈)
- Android二维码、条形码开发包(有源码)
- 定位position
- 21包含min函数的栈python
- 第五周 【项目2
- 1012. 数字分类 (20)
- Sphere和vCenter、ESXi的关系
- linux 笔记
- new一个对象的时候JVM都做了哪些事情
- 嵌入式程序员应知道的几个基本问题
- python中的break语句
- java io流之拷贝文件