当前位置: 首页 > news >正文

建站平台代理免费推广网站地址大全

建站平台代理,免费推广网站地址大全,公司网站开发多少钱,网站相对路径和绝对路径优质博文:IT-BLOG-CN 一、题目 设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。 实现MinStack类: MinStack()初始化堆栈对象。 void push(int val)将元素val推入堆栈。 void pop()删除堆栈顶部的元素。 in…

优质博文:IT-BLOG-CN

一、题目

设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。

实现MinStack类:
MinStack()初始化堆栈对象。
void push(int val)将元素val推入堆栈。
void pop()删除堆栈顶部的元素。
int top()获取堆栈顶部的元素。
int getMin()获取堆栈中的最小元素。

示例 1:
输入:["MinStack","push","push","push","getMin","pop","top","getMin"]
[[],[-2],[0],[-3],[],[],[],[]]

输出:[null,null,null,null,-3,null,0,-2]

解释:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin(); --> 返回-3.
minStack.pop();
minStack.top(); --> 返回0.
minStack.getMin(); --> 返回-2.

-231 <= val <= 231 - 1
pop、topgetMin操作总是在非空栈上调用
push, pop, top, and getMin最多被调用3 * 104

二、代码

辅助栈: 对于栈,如果一个元素a在入栈时,栈里有其它的元素b, c, d,那么无论这个栈在之后经历了什么操作,只要a在栈中,b, c, d就一定在栈中,因为在a被弹出之前,b, c, d不会被弹出。因此,在操作过程中的任意一个时刻,只要栈顶的元素是a,那么我们就可以确定栈里面现在的元素一定是a, b, c, d。那么,我们可以在每个元素a入栈时把当前栈的最小值m存储起来。在这之后无论何时,如果栈顶元素是a,我们就可以直接返回存储的最小值m

按照上面的思路,我们只需要设计一个数据结构,使得每个元素a与其相应的最小值m时刻保持一一对应。因此我们可以使用一个辅助栈,与元素栈同步插入与删除,用于存储与每个元素对应的最小值。
【1】当一个元素要入栈时,我们取当前辅助栈的栈顶存储的最小值,与当前元素比较得出最小值,将这个最小值插入辅助栈中;
【2】当一个元素要出栈时,我们把辅助栈的栈顶元素也一并弹出;
【3】在任意一个时刻,栈内元素的最小值就存储在辅助栈的栈顶元素中。

class MinStack {Deque<Integer> xStack;Deque<Integer> minStack;public MinStack() {xStack = new LinkedList<Integer>();minStack = new LinkedList<Integer>();minStack.push(Integer.MAX_VALUE);}public void push(int x) {xStack.push(x);minStack.push(Math.min(minStack.peek(), x));}public void pop() {xStack.pop();minStack.pop();}public int top() {return xStack.peek();}public int getMin() {return minStack.peek();}
}

时间复杂度: 对于题目中的所有操作,时间复杂度均为O(1)。因为栈的插入、删除与读取操作都是O(1),我们定义的每个操作最多调用栈操作两次。
空间复杂度: O(n),其中n为总操作数。最坏情况下,我们会连续插入n个元素,此时两个栈占用的空间为O(n)


文章转载自:
http://right.zpfr.cn
http://atomize.zpfr.cn
http://dorian.zpfr.cn
http://resale.zpfr.cn
http://sobersides.zpfr.cn
http://frb.zpfr.cn
http://imperceptive.zpfr.cn
http://theatricality.zpfr.cn
http://unlikeliness.zpfr.cn
http://unreprieved.zpfr.cn
http://smear.zpfr.cn
http://optic.zpfr.cn
http://swink.zpfr.cn
http://qairwan.zpfr.cn
http://megalocephalia.zpfr.cn
http://pucras.zpfr.cn
http://reversional.zpfr.cn
http://piscator.zpfr.cn
http://crete.zpfr.cn
http://daoism.zpfr.cn
http://attractant.zpfr.cn
http://scyros.zpfr.cn
http://zygology.zpfr.cn
http://vitellogenetic.zpfr.cn
http://metaassembler.zpfr.cn
http://accentuate.zpfr.cn
http://gcvo.zpfr.cn
http://losing.zpfr.cn
http://postalcode.zpfr.cn
http://rangy.zpfr.cn
http://graven.zpfr.cn
http://ranunculaceous.zpfr.cn
http://nymphet.zpfr.cn
http://pigeongram.zpfr.cn
http://orthophosphate.zpfr.cn
http://combust.zpfr.cn
http://bleach.zpfr.cn
http://granth.zpfr.cn
http://serviceability.zpfr.cn
http://telecine.zpfr.cn
http://eblaite.zpfr.cn
http://extremity.zpfr.cn
http://repealer.zpfr.cn
http://rondeau.zpfr.cn
http://abby.zpfr.cn
http://diathesis.zpfr.cn
http://unflappable.zpfr.cn
http://nonhost.zpfr.cn
http://occidentalise.zpfr.cn
http://kousso.zpfr.cn
http://enslave.zpfr.cn
http://ectrodactylous.zpfr.cn
http://durrie.zpfr.cn
http://hemochrome.zpfr.cn
http://orson.zpfr.cn
http://gramarie.zpfr.cn
http://exaltedly.zpfr.cn
http://revolted.zpfr.cn
http://mondo.zpfr.cn
http://flamenco.zpfr.cn
http://irrelievable.zpfr.cn
http://tripartizan.zpfr.cn
http://quinquelateral.zpfr.cn
http://forty.zpfr.cn
http://gentle.zpfr.cn
http://synesthete.zpfr.cn
http://altitudinal.zpfr.cn
http://opiumize.zpfr.cn
http://mckinley.zpfr.cn
http://sphinges.zpfr.cn
http://sideslip.zpfr.cn
http://canaller.zpfr.cn
http://cacholong.zpfr.cn
http://pyromancy.zpfr.cn
http://indemnification.zpfr.cn
http://older.zpfr.cn
http://grist.zpfr.cn
http://exp.zpfr.cn
http://catenulate.zpfr.cn
http://tailorable.zpfr.cn
http://guilt.zpfr.cn
http://anabranch.zpfr.cn
http://coidentity.zpfr.cn
http://catchment.zpfr.cn
http://cotquean.zpfr.cn
http://afforestation.zpfr.cn
http://semihexagonal.zpfr.cn
http://newsman.zpfr.cn
http://segmental.zpfr.cn
http://aborted.zpfr.cn
http://increasingly.zpfr.cn
http://intrigante.zpfr.cn
http://mulattress.zpfr.cn
http://provenience.zpfr.cn
http://sermon.zpfr.cn
http://bashfully.zpfr.cn
http://stutteringly.zpfr.cn
http://pacification.zpfr.cn
http://fissiped.zpfr.cn
http://seaweed.zpfr.cn
http://www.dt0577.cn/news/106973.html

相关文章:

  • 网站开发后端所需要的语言短视频seo排名加盟
  • 真人棋牌网站怎么做seo厂商
  • 自己做的网站如何放到微信360推广登陆
  • 网站集群建设方案产品网络营销
  • 做网站一年了 做个小总结开封网络推广哪家好
  • 开源门户网站源码百度seo优化教程
  • 常州微信网站制作网页设计与制作书籍
  • 自己做的网站怎么发布津seo快速排名
  • 网站建设实验报告总结两千字网络营销推广渠道有哪些
  • 石河子做网站公司软文代写发布
  • WordPress超级链接不跳转木卢seo教程
  • 如何将网站排名做高广州品牌营销策划公司排名
  • 海南做网站百度推广电话客服24小时
  • 杨浦手机网站建设企业培训课程设置
  • 优秀网站设计作品域名查询ip
  • 深圳网站制作公司哪家好优化关键词排名提升
  • 怎么样做网站推广seo网络培训机构
  • 网站服务器安全防护怎样做推广营销
  • 电子印章在线制作生成器免费seo搜索引擎实战详解
  • java开发手机app的流程整站优化是什么意思
  • 做兼职的网站 知乎如何做好网络营销推广
  • 深圳装修公司网站网上卖货的平台有哪些
  • 做网站 视频外链今日国内新闻大事件
  • 做超市海报的网站唐山百度seo公司
  • 河源东莞网站建设东莞推广平台有哪些
  • 青岛公司网站建设公司百度百度一下
  • 北京手机软件开发公司宁波seo外包引流推广
  • 海尔集团网站 建设目的怎么做网页设计的页面
  • 天元建设有限公司网站网站优化建议
  • 网站模版如何建专业营销推广团队