剑指offer21包含min函数的栈
来源:互联网 发布:用数据讲故事 pdf 编辑:程序博客网 时间:2024/06/05 08:53
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
//一切问题自己定,只要能实现功能就行了
//要求min push pop的时间复杂度都为o(1)
//给你一个栈,你要能在o(1)时间找到最小值
class Solution {
public:
void push(int value) {
//在压入数据栈的时候,把最小值也同时压入辅助栈
dataStack.push(value);//往栈中压入数值
if(minStack.empty())//如果辅助栈为空,则辅助栈压入数据
minStack.push(value);
else if(!minStack.empty()&&minStack.top()>=value)//如果辅助栈不为空,新压入的数据小于原来栈顶的数据
{
minStack.push(value);//直接压入辅助栈
}
else//如果新压入的数据比下面的数据大
{
int min=minStack.top();//当前最小值就是栈的顶部
minStack.push(min);//把该值再次仿佛栈顶
}
}
void pop() {//删除栈最小元素
dataStack.pop();
minStack.pop();
}
int top() {//返回顶部元素
return minStack.top();//
}
int min() {//找出最小元素
return minStack.top();//关键是这一个
}
private:
stack<int>dataStack;//数据栈(实际栈)
stack<int>minStack;//辅助栈
};
- 剑指offer21-包含min函数的栈
- 剑指Offer21包含min函数的栈
- 剑指offer21:包含min函数的栈
- 剑指offer21包含min函数的栈
- offer21:包含min函数的栈
- 包含min的栈~~剑指offer21题
- 【剑指offer】包含min函数的栈
- 剑指offer--包含min函数的栈
- 剑指Offer-->包含min函数的栈
- 《剑指offer》包含min函数的栈
- 剑指offer - 包含min函数的栈
- 剑指offer-包含min函数的栈
- 剑指offer:包含min函数的栈
- 包含min函数的栈|剑指offer
- 剑指offer-包含min函数的栈
- 剑指offer 包含min函数的栈
- 剑指offer:包含min函数的栈
- 剑指offer 包含min函数的栈
- 问题
- Sublime Text自定义snippet
- PHP and MySQL Web Development习题作业集
- 171. Excel Sheet Column Number
- 观2018腾讯校招有感
- 剑指offer21包含min函数的栈
- Scala基础入门(十三 ) 类、函数参数形式、种类、使用方式总结
- HTML菜鸟入门4
- Socket编程 ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。
- Java开发者的10个大数据工具和框架
- ZOJ 1141 Closest Common Ancestors(LCA)
- javascript数据结构系列(三)-栈
- Postman入门教程【没有废话,直入实战,绝对给力!】
- 数据库SQL实战-答案解析(1-15)