1381. 设计一个支持增量操作的栈
2020-05-11
1.题目描述
设计一个支持增量操作的栈
2.题解
使用vector在进行增量操作的时候会方便一些,vector支持push_back、pop_back、empty操作。
3.代码
class CustomStack {
public:CustomStack(int maxSize) {maxsize=maxSize;len=0; // 初始长度为0}void push(int x) {if (len<maxsize){myvector.push_back(x);len++;}}int pop() {if (myvector.empty()) return -1;int t=myvector[len-1];myvector.pop_back();len--;return t;}void increment(int k, int val) {int t;int l=min(len,k);for (int i=0;i<l;i++){myvector[i]+=val;}}vector<int> myvector;int maxsize;int len;
};/*** Your CustomStack object will be instantiated and called as such:* CustomStack* obj = new CustomStack(maxSize);* obj->push(x);* int param_2 = obj->pop();* obj->increment(k,val);*/
1381. 设计一个支持增量操作的栈相关推荐
- LeetCode 1381. 设计一个支持增量操作的栈(deque/数组)
1. 题目 请你设计一个支持下述操作的栈. 实现自定义栈类 CustomStack : CustomStack(int maxSize):用 maxSize 初始化对象,maxSize 是栈中最多能容 ...
- LeetCode 5357. 设计一个支持增量操作的栈
5357. 设计一个支持增量操作的栈 思路:用数组实现即可 class CustomStack { public:CustomStack(int maxSize) {fill(a,a+1001,-1) ...
- 【最小栈c++】设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈
设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素. top() -- 获取栈顶元素. ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- 如何设计一个支持1亿用户使用的系统
高可用架构设计最核心的就是两点:解耦和冗余.解耦包括业务状态分离(无状态架构设计).分库分表等.冗余包括缓存.CDN.主从备份.主主备份.GeoDNS 等.一个好的架构设计需要在产品迭代的不同阶段选择 ...
- 如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
要设计一个支持数亿用户的系统并不容易.对于软件架构师来说,这总是一个很大的挑战(但是读完我的文章
- LeetCode 2296. 设计一个文本编辑器(双栈)
文章目录 1. 题目 2. 解题 1. 题目 请你设计一个带光标的文本编辑器,它可以实现以下功能: 添加:在光标所在处添加文本. 删除:在光标所在处删除文本(模拟键盘的删除键). 移动:将光标往左或者 ...
- 最小栈的实现(设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。)
最小栈的实现 思路 两个栈,左边栈接受元素,右边栈存最小的元素 入栈时,先入左边栈,随后进行比较,左边和右边栈顶元素进行比较,如果新元素小,就把新元素放在右边的栈顶位置,如果新元素大,则还是把右边栈顶 ...
- 设计一个有getMin功能的栈 (python)
题目: 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈中最小元素的操作 要求: 1.pop.push.getMin操作的时间复杂度都是O(1) 2.设计的栈类型可以使用现成的栈结构 解决办 ...
最新文章
- 如何删除VS2015中的OpenCV的配置
- 将yolo标注转换为tensorflow_yolov3标注生成train.txt和test.txt同时做数据清洗
- 图像分割——迭代式阈值分割
- mysql5.6.msi 百度云_如何安装Mysql数据库类型msi(5.6)
- 用Navicat for MySQL往数据表中添加数据时汉字出现乱码
- nodejs注册为windows服务实现开机自启动
- java nio 追加写文件_java.nio.file读写文件
- php卡盟主站_php卡盟
- 医疗器械app软件开发功能明细
- android 读写txt文件,Android:将文本写入txt
- nifi服务器间拷贝文件,NIFI Kerberos 认证
- ABP 在中抛出“Cannot access a disposed object. A common cause of this error is disposing”异常分析
- 求x的n次方编程_c语言求x的n次方的函数介绍
- 电驴维持友情链接地址、更新服务器列表
- AAE 对抗自编码(一)
- 微信支付之公众号发红包和企业付款
- 102 613 SWP协议学习笔记--数据链路层
- apicloud常用方法总结
- 美团云苏宁云倒下了,他们却顺利突围
- PostgreSQL 如何实现数据透视表
热门文章
- java重定向url有参数吗_JavaScript重定向URL参数的两种方法小结
- ps如何修改图片大小尺寸_PS常用操作 | 图片的裁剪、拼接、尺寸调整... ...
- 腐蚀和膨胀(erode and dilate)
- P2197 【模板】nim 游戏(python3实现)
- P5708 【深基2.习2】三角形面积(python3实现)
- 计算机科学美国大学专业,美国大学Computer Science 计算机科学专业排名(转)...
- 怎么用python进行回归预测_使用Python训练回归模型并进行预测
- 平衡二叉树平衡因子怎么计算_数据结构PHP 平衡二叉树(AVL)的平衡原理
- 【全网最全】一文搞定 Linux 压缩、解压哪些事儿
- Charles笔记-配置Charles代理抓取HTTP和HTTPS数据包,安卓模拟器连接Charles