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

镇江市网站建设_网站建设公司_加载速度优化_seo优化

网站的建设思想,网站建设用款,百度网盘搜索引擎网站,手机网站页面文字做多大力扣716#xff0c;设计一个最大栈数据结构#xff0c;既支持栈操作#xff0c;又支持查找栈中最大元素。 分析#xff1a; 在最大栈的问题上#xff0c;除了实现普通栈拥有的方法pop、push、top外#xff0c;还需要实现getMax方法来找到当前栈里的最大值。为了在最短事件…力扣716设计一个最大栈数据结构既支持栈操作又支持查找栈中最大元素。 分析 在最大栈的问题上除了实现普通栈拥有的方法pop、push、top外还需要实现getMax方法来找到当前栈里的最大值。为了在最短事件内获得栈中的最大值就不应该在执行getMax()方法时再去计算最小值最好应该在push或者pop的过程中就应该计算好当前栈中的最大值。还应有popMax()检索并删除栈中最大值并返回该值。 思路基于栈后进先出的特点那么在将一个数a压入栈中时如果栈里已经存在b,c,d那么无论这个栈之后执行什么操作如果a在栈中b,c,d就一定在栈中因为在a被弹出之前b,c,d不会被弹出在操作过程中的任意一个时刻只要a在栈顶那么栈里的元素就一定是a,b,c,d。既然如此我们就可以在每个新元素a入栈时把当前栈中的最大值maxValue存储到另外一个辅助栈中这样在后面的操作过程中只要栈顶元素为a我们就可以用getMax()直接返回当前栈中最大值。在将栈顶元素pop时我们同步将辅助栈中栈顶元素弹出这样就可以保证只要辅助栈不为空辅助栈里的栈顶元素始终都是当前栈的最大值。 将最大值存入辅助栈的算法步骤如下 当一个元素要入栈时我们去当前辅助栈的栈顶的最大值与当前元素进行比较得出最大值后将这个最大值压入辅助栈中。当一个元素要出栈时我们把辅助栈的栈顶元素同步弹出。 删除栈里的最大值的算法步骤如下 创建一个缓冲栈将原栈栈顶元素依次与辅助栈栈顶元素比较如果小于辅助栈栈顶元素就pop原栈顶元素并将其压入缓冲栈中保存如果等于辅助栈栈顶元素就执行pop操作同时弹出辅助栈栈顶元素。再将缓冲栈里的元素push回原栈并返回最大值。 代码如下 let MaxStack function() {this.topIndex -1;this.originStack [];this.maxValueStack []; }/*** param {number} val* return {void}* */ MaxStack.prototype.push(val) {this.originStack.push(val);let maxValue (this.maxValueStack.length 0 ? val : this.maxValueStack.at(this.topIndex))this.maxValueStack.push(Math.max(maxValue, val); }/*** return {number}* */ MaxStack.prototype.pop() {this.maxValueStack.pop();return this.originStack.pop(); }/*** return {number}* */ MaxStack.prototype.top() {return this.originStack.at(topIndex); }/*** return {number}* */ MaxStack.prototype.peekMax() {return this.maxValueStack.at(this.topIndex); }/*** return {number}* */ MaxStack.prototype.popMax() {let maxValue peekMax();const buffer [];while (top() ! maxValue) buffer.push(pop());pop();while (buffer.length ! 0) {push(buffer.pop());}return maxValue; }
http://www.ihoyoo.com/news/131069.html

相关文章:

  • 聊城网站建设售后服务做网站必须要有数据库
  • 考试网站模版网站点击率查询
  • 网站建设 时间安排建设网站哪个公司好
  • qq外国注册网站深圳做网站的大公司
  • 增加网站流量网站明确内容
  • 建设局网站安徽手机维修培训班学校
  • 南京旭光建设监理网站首页电子商务网站的网站架构
  • html5视频网站开发网站设计原则
  • 网站都需要什么类别seo综合查询站长工具关键词
  • 北京南站两学一做网站注册
  • 科技网站 石家庄长泰建设局网站
  • 简单的网站后台管理系统怎么制作公众号视频
  • 医院网站源码 aspssh做网站步骤
  • 购物网站有哪些什么是外链
  • 店铺的网站怎么做网页设计主页面
  • 新余做网站公司做网站用什么框架好
  • 菏泽市建设局网站电话号码网站建设部
  • 福田网站建设龙岗网站建设发稿是什么意思
  • 昆明官方网站建设网站开发用什么语言开发的
  • 做网站客户会问什么问题核工业西南建设集团有限公司网站
  • 郑州企业做网站建设绿色食品网站
  • 推上网站新网官方网站
  • 网站开发的风险属于网站seo分析什么软件
  • 下载站cms宁波网页美工培训
  • 深圳做网站最好的公司网站建设增长率
  • 信息类网站 wordpress怎么做网页小猪佩奇
  • 龙岩做网站开发价格网站做js跳转
  • 创建全国文明城市英语作文英文网站优化
  • 怎样制作公司网站网易企业邮箱服务器设置怎么填
  • 网站可以备案先提交类别后来改么只做彩票网站犯法吗