lintcode12 带最小值操作的栈

实现一个带有取最小值min方法的栈,min方法将返回当前栈中的最小值。

你实现的栈将支持pushpop 和 min 操作,所有操作要求都在O(1)时间内完成。

建一个栈helpStack,用来存放从开始到目前位置的最小值,

 1 /**
 2  * lintcode12:带最小值操作的栈
 3  * 狗剩的美丽家园
 4  * 2017年12月4日15:33:23
 5  */
 6 
 7 class MinStack {
 8 public:
 9     stack<int> mainStack;
10     stack<int> helpStack;
11     MinStack() {
12         // do initialization if necessary
13     }
14 
15     void push(int number) {
16         // write your code here
17         int top;
18         mainStack.push(number);
19 
20         if (!helpStack.empty()) {
21             top = helpStack.top();
22         } else {
23             top = number;
24         }
25 
26         if (number > top) {
27             helpStack.push(top);
28         } else {
29             helpStack.push(number);
30         }
31     }
32 
33     int pop() {
34         // write your code here
35         if (!mainStack.empty()) {
36             int data = mainStack.top();
37             mainStack.pop();
38             helpStack.pop();
39             return data;
40         }
41     }
42 
43     int min() {
44         // write your code here
45         if (!helpStack.empty()) {
46             int data = helpStack.top();
47             return data;
48         }
49     }
50 };

 

转载于:https://www.cnblogs.com/gousheng/p/7977492.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487166.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python使用的一些小事儿

简单的记录一些使用的小事儿&#xff0c;大神可能都知道&#xff0c;给自己这样的python新手使用。 1.os.path.realpath(__file__)&#xff1a;获得当前文件路径 2.os.path.dirname(os.path.realpath(__file__))&#xff1a;获得当前文件的所在目录&#xff0c;每多一层os.pa…

图片缓存

转载于:https://www.cnblogs.com/cyruszhu/p/7995117.html

Nvidia真的收购Arm了吗?

来源&#xff1a;半导体行业观察综合自网络&#xff0c;谢谢。 近日有消息显示&#xff0c;Nvidia已成功达成收购Arm。但笔者通过翻阅外媒报道的原文中看&#xff0c;其实并非如此。据英国媒体EveningStandard报道&#xff0c;英伟达&#xff08;NVIDIA&#xff09;收购Arm已进…

鼓捣串口的一些记录

硬件忙不过来&#xff0c;让帮忙调试串口&#xff0c;并编写串口收发及监控程序。 第一个是使用的usb转串口&#xff0c;插到开发板上&#xff0c;到/dev下查看tty&#xff1a;ls -l tty*&#xff0c;发现确实有ttyUSB0&#xff0c;插拔一下&#xff0c;确认就是这个了&#x…

python基础--格式化输出

http://www.cnblogs.com/alex3714 #-*-coding:utf-8 -*- 字符编码声明 河南大学物理与电子学院 -----注释 三个三引号或者双引号 也可以作为长字符串赋值给变量2、 用户输入 username input ("username:")3、…

刘江川院士:边缘计算如何应对能源互联网的碎片化和复杂性? | CCF-GAIR 2020

来源&#xff1a;雷锋网作者 | 王刚雷锋网按&#xff1a;2020 年8月7日&#xff0c;全球人工智能和机器人峰会&#xff08;CCF-GAIR 2020&#xff09;正式开幕。CCF-GAIR 2020 峰会由中国计算机学会&#xff08;CCF&#xff09;主办&#xff0c;雷锋网、香港中文大学&#xff0…

C++: error: call of overloaded ‘abs(int)’ is ambiguous

今天跨平台编译项目&#xff0c;报错如题&#xff0c;使用的vs管理代码&#xff0c;所以直接查看abs定义&#xff0c;发现好多地方有实现&#xff0c;cmath、math.h、stdlib.h、cstdlib&#xff0c;然后都看了一遍之后&#xff0c;再看包含的头文件是stdlib.h和cmath&#xff0…

yum list失败

搭建了本地yum源&#xff0c;用yum list 测试报如下错误&#xff1a; [rootheguol ~]# yum list error: rpmdb: BDB0113 Thread/process ye67ww/139716328233400 failed: BDB1507 Thread died in Berkeley DB library error: db5 error(-30973) from dbenv->failchk: BDB0…

调查:人工智能技术的应用现状

本文最初发表在 Towards Data Science 博客上&#xff0c;经原作者 Luke Posey 授权&#xff0c;InfoQ 中文站翻译并分享。作者 | Luke Posey译者 | Sambodhi策划 & 编辑 | 刘燕随着工具和基础设施的成熟&#xff0c;应用人工智能不断加速发展。将这些基础设施与强大的人才…

adb 命令的个人记录

adb kill-server&#xff1a;杀掉服务&#xff0c; adb start-server&#xff1a;启动服务&#xff0c; adb install xxx.apk&#xff1a;安装apk&#xff0c;有时候会报错&#xff1a;adb: failed to install xxx.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to …

LoRa VS NB-IoT,一场物联网时代C位争夺战

来源&#xff1a;脑极体我国5G商用已经一年多了&#xff0c;比起5G网络所带来的极致体验&#xff0c;我们对于西方世界因对5G网络的安全担忧所引发的一系列事件恐怕更加深有感触。美国跳脚、英国退网&#xff0c;中国在5G技术的领先深深刺痛了这些不可一世的西方大国。而原本可…

防止Linux库so中的接口冲突

使用vs编译so库&#xff0c;很多复用的cpp文件在不同的so中&#xff0c;调用这些so的时候会有崩溃等等各种问题&#xff0c;就是因为虽然复用了接口&#xff0c;但是内部实现不完全相同&#xff0c;而Linux使用接口又与windows不一样&#xff0c;导致不是理想状态使用自己库中的…

【MySQL】数据处理:从SQL批量删除报错到Python优雅解决

一、背景 MySQL数据库表中有一批重复的脏数据,为不影响正常业务,需要进行批量删除。 二、SQL批量删除 首先想到的是编写SQL语句来批量删除:删除身份证号为51****59且ID不为5的全部数据(保留ID为5的那一条数据) DELETE FROM test_table WHERE id IN ( SELECT i…

Beego 学习笔记9:Boostrap使用介绍

BootStrap布局 1> 下载地址: http://v3.bootcss.com/getting-started/#download 根据自己的需要&#xff0c;下载不同的版本。我这里使用的是1版本的。比较简单好用。 2> Bootstrap常用的布局样式介绍 1->布局容器&#xff08;.container和.container-fluid&a…

windows的\r\n与Linux的\n

为了去除平台差异&#xff0c;需要将数据直接在Linux下保存&#xff0c;不在windows中进行转换&#xff0c;于是对\r\n和\n、\r有了新的认识&#xff0c;由于这部分数据保存的代码是其他两个同事约定好了格式的&#xff0c;windows保存的txt文件中使用了“\r\n”作为结束&#…

名人论数学——数学的本质

来源&#xff1a;算法与数学之美罗巴切夫斯基任何一门数学分支&#xff0c;不管它如何抽象&#xff0c;总有一天会在现实世界中找到应用.罗巴切夫斯基(Н.И.лобачевский&#xff0c;1792&#xff5e;1856&#xff0c;俄国数学家)是非欧几何的创始人之一&#xff0c…

c++ 编译报错

no match for ‘operator’ (operand types are ‘std::shared_ptr<float>’ and ‘std::unique_ptr<float []>’ 在有一部分平台编译时&#xff0c;返回值是unique_ptr&#xff0c;接收的是shared_ptr是可以编译使用的&#xff0c;但是在一个arm64的平台上直接编…

javascript的性能优化

(1) 如何加载JS&#xff0c;JS文件应放在什么位置 外部JS的阻塞下载 所有浏览器在下载JS的时候&#xff0c;会阻止一切其他活动&#xff0c;比如其他资源的下载&#xff0c;内容的呈现等等。至到JS下载、解析、执行完毕后才开始继续并行下载其他资源并呈现内容。 有人…

把握芯片科技发展趋势 促进半导体产业创新突破

来源&#xff1a;学习时报作者&#xff1a;李万芯片是信息社会的核心基石&#xff0c;也是各国竞相发展的重要新兴技术和产业。在某种程度上&#xff0c;一个国家的芯片科技水平以及在全球分工位置&#xff0c;意味着该国在全球科技竞争中的地位。芯片科技发展的基本特质芯片科…

json.hpp参数错误

报错&#xff1a;json.hpp:6057:62: error: wrong number of template arguments (1, should be 2) json.hpp版本为2.1.1&#xff0c;更新了版本3.0.0&#xff0c;问题解决&#xff08;没有更新到最新是担心改动太多不兼容。。。。也许并没有什么问题&#xff09;