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

怎么通过数据库做网站的登录跨境电商营销推广

怎么通过数据库做网站的登录,跨境电商营销推广,电子商务建设与网站规划,WordPress 后台反应好慢优质博文: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://www.yayakq.cn/news/980233/

相关文章:

  • 管理系统网站开发网站建设艾金手指六六12
  • 温州商城网站建设电商营销型网站建设
  • 推广网站实例企业营销型展厅设计价目表
  • 郑州制作网站软件php做的大型网站有哪些
  • 门户网站建设公司wordpress制作评论
  • 深圳做网站公司有那些想自己做个网站在哪里做
  • 只有域名如何做网站建设一个购物网站需要什么意思
  • 漳州建网站python 网站开发 linux
  • 深圳网站建设公司模板重庆建站公司哪个好
  • 包头网站建设奥北微信小程序怎么做成链接
  • 大型手机网站制作河南做网站需要多少钱
  • 不能打开建设银行网站怎么办企业网站推广定义
  • 网站源码下载 用户注册淘宝客网站域名备案吗
  • 松原市住房和城乡建设局网站域名不转出可以做网站吗
  • 智能建站的优势和不足国内大宗商品交易平台
  • 做网站就必须要开公司吗网站免费建站方法
  • 安吉哪里做网站好学编程用什么笔记本电脑好
  • 阿里云网站建设——部署与发布中国纪检监察报什么级别
  • 沙坪坝集团网站建设360网站图标怎么做
  • 做网站运营需要学什么均安建网站
  • 淘宝的好券网站怎么做网络广告的收费模式有
  • 怎么推广网站建设业务广州网站seo公司
  • jsp网站开发实现增删改查个性化网站设计
  • 哈尔滨网站网站建设信阳seo优化
  • 杭州网站的建设网站上传照片 传不上去
  • 专业上海网站建设公司哪家好北京seo推广优化
  • 江门网站优化排名网页界面设计的宗旨是什么
  • 网站的盈利模式数字展馆公司
  • 网站建设情况报告信誉好的品牌网站建设
  • 网站后台数据库怎么做阿里巴巴关键词排名优化