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

动漫网站开发优势网址域名

动漫网站开发优势,网址域名,钻探公司宣传册设计样本,wordpress图书介绍插件题目 设计一个支持 push #xff0c;pop #xff0c;top 操作#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部的元素。i…题目 设计一个支持 push pop top 操作并能在常数时间内检索到最小元素的栈。 实现 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 - 1pop、top 和 getMin 操作总是在 非空栈 上调用push, pop, top, and getMin最多被调用 3 * 104 次 自己的一些思考 我每次在看到这个题目的时候都会写一点思考有些时候思考不一定全都对很多时候都是一个暴力思考。但是思考的流程可能比较重要。有错误也请大家斧正不过最后的代码一定会是修改且通过用例的。 栈是一个LIFO结构后进先出。有三种基本的操作。1.PUSH即把一个元素压入栈顶push和append的效果都是一样的。可是push用在栈里面append常见于列表。2.pop即为去除栈顶上的元素3.Top/peek返回栈顶的元素 这个代码想要实现的就是写一个栈这个栈能够有基础的操作且能够返回最小值 class MinStack:def __init__(self):def push(self, val: int) - None:def pop(self) - None:def top(self) - int:def getMin(self) - int:# Your MinStack object will be instantiated and called as such: # obj MinStack() # obj.push(val) # obj.pop() # param_3 obj.top() # param_4 obj.getMin() 题目给的参考例子是这个我们就拿这个来试着分析一下。 def __init__(self): def push(self, val: int) - None: 先初始化这个栈可以写成self.stack[],这个self指向调用的当前对象指向对象自身的引用能够初始化这个对象然后这里使用的是self.stack[],创建一个空栈 def push(self, val: int) - None: 这里在栈顶添加一个元素可以使用这个代码self.stack.push(val) def pop(self) - None: 这里返回最上面的这个也可以用stack里面的方法self.stack.pop def top(self) - int: 这里要获取topreturn self.stack[-1][0],最后面一个元素可能是一个列表返回这个列表的第一个值 def getMin(self) - int: 那么我到这里的时候就会有一点迷惑这个Min该怎么样去处理呢于是我去看了一下题解。 题解 题解当中提到使用一个叫做“辅助栈”的概念 而且这个题解在栈中间插入了元组里面有不同数据类型的一种数据结构可以存储一组有序的元素 什么是辅助栈辅助栈最经典的例子就是这个最小栈就是保存栈内所有元素的最小值。有新添加进来的元素都能够获取到这个的最小值当新元素来的时候如果它比辅助栈的栈顶元素更小就把这个新的元素压入辅助栈当元素出栈是如果它和辅助栈的栈顶元素大小一致时就把辅助栈的栈顶也给弹出POP class MinStack(object):def __init__(self):initialize your data structure here.、初始化栈self.stack []def push(self, x)::type x: int:rtype: void#栈内每一个元素都是一个二元组tuple#(x)(x)前一个(x)是真实的元素后面一个(x)是最小#如果不是空值就把自身和现在栈顶的二元组的1做一个比较#哪个小新栈顶上面的[1]就是这个元素if not self.stack:self.stack.append((x, x))else:self.stack.append((x, min(x, self.stack[-1][1])))def pop(self)::rtype: voidself.stack.pop()def top(self)::rtype: intreturn self.stack[-1][0]def getMin(self)::rtype: intreturn self.stack[-1][1]# Your MinStack object will be instantiated and called as such: # obj MinStack() # obj.push(x) # obj.pop() # param_3 obj.top() # param_4 obj.getMin() TODO 1.第一刷2024/3/10 2.切记辅助栈这个概念可以通过元组这种方法来实现
http://www.tj-hxxt.cn/news/231495.html

相关文章:

  • 经典的企业网站wordpress esc attr
  • 男女做污的事情网站视频1688官网app下载
  • 新手小白如何互联网创业河源市seo网站设计
  • 做论坛网站多少钱送菜网站制作
  • 免费vip电影网站怎么做松江专业做网站公司
  • 建设网站需要什么网站设计制作 一年价格
  • 做网站的客户资料交换qq群网站建设太仓
  • 什么叫静态网站帮忙建站的公司
  • 镇江建设银行网站彩票网站的建设
  • 超星网站开发实战答案河北网站建设中心
  • 网站站点多少钱网络设计案例题
  • 网站建设 中关村做网站大概费用
  • 天地做网站网站开发制作公司名称
  • 天津做不锈钢的网站中国网站设计师联盟
  • 在线ps网站怎么让关键词快速排名首页
  • vps网站压缩建设企业网站的时间
  • 规避电子政务门户网站建设的教训卢松松wordpress博客
  • ps怎么做网站一站式服务大厅
  • 营销型 展示类网站企业形象网站策划方案
  • dw做网站首页怎么做手机制作
  • 建设网站模板南京设计网页公司
  • 弹幕网站用什么做通化好的网站建设的公司
  • 亚马逊备案网站建设网站建设包括两个方面
  • 1元购网站怎么做网站建设及推广培训班
  • 怎么样再自己的网站做二级域名wordpress怎么加幻灯片
  • 创新创业营销策略网站建设等wordpress模板自适应
  • 搜索网站怎么做dw个人网站模板下载
  • 中国知名网站排行榜ueditor wordpress 插件
  • 网站开发的关键技术与难点西安app制作公司
  • 网站建设 别墅经常用表格进行页面布局