2022-3-28 Leetcode 01.三合一
第一版,有些错误:
#include<iostream>
#include<vector>
using namespace std;
class TripleInOne {public:vector<int> sk;int sksize = 0;// vector<int> bp(3,0);// vector<int> sp(3,0);vector<int> bp = vector<int>(3,0);vector<int> sp = vector<int>(3,0);TripleInOne(int stackSize) {sk.resize(stackSize*3,-1);sksize = stackSize;bp[0] = 0;bp[1] = stackSize;bp[2] = 2*stackSize;sp[0] = bp[0];sp[1] = bp[1];sp[2] = bp[2];}void push(int stackNum, int value) {int index = (stackNum + 1)*sksize - 1;if(sk[index] == -1){sk[sp[stackNum]] = value;sp[stackNum]++;}}int pop(int stackNum) {if(sp[stackNum] == bp[stackNum])return -1;else {sp[stackNum]--;int ret = sk[sp[stackNum]];sk[sp[stackNum]] = -1;return ret;}}int peek(int stackNum) {return sk[sp[stackNum]];}bool isEmpty(int stackNum) {if(sp[stackNum] == bp[stackNum])return true;else return false;}
};
int main(void){TripleInOne t(1);t.push(0,1);t.push(0,2);cout << t.pop(0) << endl;cout << t.pop(0) << endl;cout << t.pop(0) << endl;cout << t.isEmpty(0) << endl;
}
第二版,使用二维数组
class TripleInOne {public:vector<vector<int>> mysk = vector<vector<int>>(3); int Size = 0;TripleInOne(int stackSize) {Size = stackSize;}void push(int stackNum, int value) {if(mysk[stackNum].size() < Size){mysk[stackNum].push_back(value);}}int pop(int stackNum) {if(mysk[stackNum].empty()){return -1;}else {int ret = mysk[stackNum].back();mysk[stackNum].pop_back();return ret;}}int peek(int stackNum) {if(mysk[stackNum].empty()){return -1;}else{return mysk[stackNum].back();}}bool isEmpty(int stackNum) {return mysk[stackNum].empty();}
};/*** Your TripleInOne object will be instantiated and called as such:* TripleInOne* obj = new TripleInOne(stackSize);* obj->push(stackNum,value);* int param_2 = obj->pop(stackNum);* int param_3 = obj->peek(stackNum);* bool param_4 = obj->isEmpty(stackNum);*/
2022-3-28 Leetcode 01.三合一相关推荐
- English Learning - Day22 作业打卡 2022.12.28 周三
English Learning - Day22 作业打卡 2022.12.28 周三 引言 1. 否认这一点就是闭眼不看事实. 2. 他承认拿了手表. 3. 考驾照前我还得再练练. 4. 没有你陪伴 ...
- 《实战:centos上安装Go软件》-2022.4.28
<实战:centos上安装Go软件>-2022.4.28 目录 文章目录 <实战:centos上安装Go软件>-2022.4.28 目录 实验环境 实验软件 1.下载安装包 2 ...
- NE40E华为产品文档-----笔记(2022.9.28)
** NE40E华为产品文档-----笔记(2022.9.28) ** P34开始 全连接full Mesh 中文解释:全网状 英文来历:Full Mesh表示网络的一种连接形式,即所有结点之间都直接 ...
- 实战:Dockerfile构建镜像-2022.2.28
实战:Dockerfile构建镜像-2022.2.28 目录 文章目录 实战:Dockerfile构建镜像-2022.2.28 目录 实验环境 实验软件 1.Dockerfile概述 2.Docker ...
- iMeta | 第1卷第1期在线正式发布(2022/3/28)
点击蓝字 关注我们 iMeta期刊 第1卷第1期 在线正式发布 ► iMeta是世界上第一本专注于宏基因组.微生物组和生物信息前沿交叉的期刊 ► 2022年3月28日,iMeta第1卷第1期在线发布 ...
- 程序员面试金典 - 面试题 03.01. 三合一(数组栈)
1. 题目 三合一.描述如何只用一个数组来实现三个栈. 你应该实现push(stackNum, value).pop(stackNum).isEmpty(stackNum).peek(stackNum ...
- 俄乌局势再起波澜,3月季节性一览,甲醇认购大涨,CCS05收官LPP季节性下跌2022.2.28
<期货套利基础系列>介绍套利的基础知识: 期货套利基础第一篇:对套利的误解 第2-3篇是套利基础知识,内容来自电子书,有做过套利的人可以跳过: 期货套利基础第二篇:套利交易的基本概念 期货 ...
- CASS11.0又双叒更新了,还增加一些实用功能(2022.5.11发布版,更新时间2022.4.28)
CASS11.0最新官网程序下载(提取码:1111)https://pan.baidu.com/s/1KU9h33iFAYnvuOcouD6cJw CASS地形地籍成图软件,是由广东南方数码科技股份有 ...
- 【数字IC前端笔试真题精刷(2022.8.28)】AMD——芯片验证工程师 Design Verification Engineer / 芯片设计工程师 ASIC Design Engineer
声明:本专栏所收集的数字IC笔试题目均来源于互联网,仅供学习交流使用.如有侵犯您的知识产权,请及时与博主联系,博主将会立即删除相关内容. 笔试时间:2022年8月28日 文章目录 单选题 1.Whic ...
最新文章
- golang设置默认地区
- 随笔 —— 当下不晚
- 你真的会玩SQL吗?Case也疯狂
- 从ASP.NET Core 3.0 preview 特性,了解CLR的Garbage Collection
- 你对求生欲,一无所知!| 今日最佳
- [转载]golang sync.Pool
- matlab日期textscan,求助:在MATLAB里如何输入时间序列中的时间
- 算法题:I am a student. 转为 student. a am I
- Docker教程小白实操入门(17)--如何使用run -v创建一个数据卷
- 周期T与频率f数量级对应关系(MHz--μs)
- Python数据类型——逻辑值详解
- silk lobe资源公众号_【好设计资源库】公众号素材获取方式说明
- 从微软官网下载win10镜像.iso文件
- 图像处理入门系列之对比度增强
- 逻辑思维训练和推理思维训练
- kjb文件 解析_Python 之父再发文:构建一个 PEG 解析器
- Go2Shell 打开设置窗口
- 利用vue实现“显示更多”功能
- html页面在ie上出现404怎么解决,ie浏览器网页上有错误解决方法详解
- AWD平台搭建及遇到的问题分析
热门文章
- 360杀毒软件如何安装 杀毒
- 被‘帕金森定律’命中的一周
- Linux C/C++ 开发(学习笔记十一 ):TCP服务器(并发网络网络编程 一请求一线程)
- WebGL编程指南03-在javaScript程序通过uniform变量向片元着色器传值
- ​人工智能创新:方向比努力更重要
- 使用React Native 和 微信小程序 编写的一款阅读类app ———《轻松一刻》
- EasyGBS国标流媒体视频平台接入海康、大华、宇视的摄像机、硬盘录像机NVR、国标下级平台的方案
- 使用Eclips开发Mybatis入门程序
- kaldi中文资料最后一章在线解码器遇到的问题及解决方案
- 米兔积木机器人与履带机甲零件差别_米兔积木机器人履带机甲版怎么样 米兔积木机器人孩子喜欢吗...