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

首页官网商品关键词怎么优化

首页官网,商品关键词怎么优化,幼儿园管理网站模板,品牌故事经典案例题目 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 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.

分析

我们可以使用两个栈来实现,一个栈用于存储正常的元素,另一个栈用于存储当前栈中的最小元素。

辅助栈

push(int val) 方法

  • 首先将元素 val 压入 dataStack
  • 然后检查 minStack 是否为空或者 val 是否小于等于 minStack 的栈顶元素。如果满足条件,则将 val 也压入 minStack。这样可以保证 minStack 的栈顶元素始终是当前栈中的最小元素。

pop() 方法

  • 首先检查 dataStack 是否为空。
  • 如果 dataStack 不为空,检查 dataStack 的栈顶元素是否等于 minStack 的栈顶元素。如果相等,说明要弹出的元素是当前栈中的最小元素,需要同时将 minStack 的栈顶元素弹出。
  • 最后将 dataStack 的栈顶元素弹出。

top() 方法

  • 检查 dataStack 是否为空。
  • 如果不为空,返回 dataStack 的栈顶元素;否则,简单返回 -1 表示栈为空。

getMin() 方法

  • 检查 minStack 是否为空。
  • 如果不为空,返回 minStack 的栈顶元素;否则,简单返回 -1 表示栈为空。

时间复杂度:O(1)

空间复杂度:O(n)

class MinStack {
private:std::stack<int> dataStack;  // 存储正常元素的栈std::stack<int> minStack;   // 存储最小元素的栈
public:MinStack() {// 构造函数,初始化两个栈}void push(int val) {dataStack.push(val);if (minStack.empty() || val <= minStack.top()) {minStack.push(val);}}void pop() {if (!dataStack.empty()) {if (dataStack.top() == minStack.top()) {minStack.pop();}dataStack.pop();}}int top() {if (!dataStack.empty()) {return dataStack.top();}return -1;  // 这里简单返回 -1 表示栈为空,实际使用中可根据需求处理}int getMin() {if (!minStack.empty()) {return minStack.top();}return -1;  // 这里简单返回 -1 表示栈为空,实际使用中可根据需求处理}
}; 
http://www.dtcms.com/wzjs/136176.html

相关文章:

  • 域名和网站的关系c++线上培训机构哪个好
  • wordpress计算几岁几月几天windows优化大师使用方法
  • 外贸公司怎么做网站第三方平台推广
  • 做三维特效的好网站企业站seo价格
  • 绵阳住房和城市建设局网站官网网站如何发布
  • b2b b2c网站的介绍百度电话
  • 做网站开发的经营范围网络营销的方法是什么
  • 中国优秀设计网站有哪些免费建立自己的网站
  • 模板网站怎么建设优化seo品牌优化整站优化
  • 做网站月薪发布友情链接
  • 怎么做区块链网站网络推广渠道有哪些
  • 商户网站建设公司网站怎么申请怎么注册
  • 58同城类似的网站怎么做seo学习
  • 如何做代刷网站海南百度推广公司电话
  • 企业邮箱认证石家庄seo网络推广
  • dede调用其他网站数据库官方推广平台
  • 建设有一个网站需要什么seo营销推广多少钱
  • 做赚钱网站市场调研流程
  • 怎样创建个人购物网站windows优化软件
  • 政府网站建设请示百度搜索广告
  • 如何使用qq邮箱做网站谷歌搜索引擎优化seo
  • 协会网站模板网站seo优化徐州百度网络
  • 网站设计怎么做ppt答辩google关键词查询工具
  • 秦皇岛建设局官方网站优化网站搜索排名
  • 浅谈网站页面框架设计深圳网络推广哪家
  • wordpress调整meta重庆网站优化软件
  • 大会注册网站建设精准引流获客软件
  • 海口疫情最新消息今天封城了百度seo排名优化技巧分享
  • 网站建设0doit精品成品网站入口
  • 可以查授权的网站怎么做甲马营seo网站优化的