09. 用两个栈实现队列

没啥意思 不要想复杂了 就是暴力

class CQueue {
public:
CQueue() { }
/*
一个主栈 一个缓存栈
来回导 得到队头 copy后一端变空了
*/
stack<int>stk,cache;
void copy(stack<int>&a,stack<int>&b){
while(a.size()){
b.push(a.top());
a.pop();
}
}
void appendTail(int value) {
stk.push(value); } int deleteHead() {
if(stk.empty())return -1;
copy(stk,cache);
int res=cache.top();
cache.pop();
copy(cache,stk);
return res;
}
};

30. 包含min函数的栈

class MinStack {
public:
/** initialize your data structure here. */
MinStack() { }
stack<int>stk,minn; void push(int x) {
stk.push(x);
if(minn.empty()||minn.top()>=x)minn.push(x);
} void pop() {
if(stk.top()==minn.top())minn.pop();
stk.pop();
} int top() {
return stk.top();
} int min() {
return minn.top();
}
};

剑指 Offer 栈与队列的更多相关文章

  1. 剑指Offer——栈的java实现和栈的应用举例

    剑指Offer--栈的java实现和栈的应用举例 栈是一种先进后出的数据结构, 栈的实现如下: 首先定义了栈需要实现的接口: public interface MyStack<T> { / ...

  2. 剑指 Offer 59 - II. 队列的最大值--滑动窗口的建模+Deque的基本使用(常用方法)

    剑指 Offer 59 - II. 队列的最大值 题目链接 package com.walegarrett; /** * @Author WaleGarrett * @Date 2020/12/3 1 ...

  3. 剑指offer - 栈的压入弹出序列 - JavaScript

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列 1,2,3,4,5 是某栈的压入顺序,序列 4,5,3,2,1 ...

  4. 剑指offer---05---用栈实现队列

    题意 给了两个栈去实现队列   分析 两个栈如下情况       1       2 4    3 这个时候就不能够把4插入到第二个弹出栈了否则弹出顺序出错. 所以这个时候就应该等第二个栈空了的时候再 ...

  5. 剑指Offer 栈的压入、弹出序列

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序 ...

  6. 剑指offer 栈的压入弹出 顺序

    判断: 如果下一个弹出的数字刚好是栈顶元素,那么直接弹出 如果下一个弹出的数字不在栈顶,我们要把压栈序列中,还没有入栈的数字压入辅助栈,知道把下一个需要弹出的数字压入栈顶 如果所有的数字都入栈,但是仍 ...

  7. 剑指offer——栈的压入、弹出序列

    题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个栈是否为该栈的弹出顺序.假设压入栈的所有数字都不相等.例如序列1,2,3,4,5是某个栈的压入顺序,序列4,5,3,2,1是该栈序列的一 ...

  8. 剑指offer 栈的压入和弹出

    题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈 ...

  9. 用js刷剑指offer(栈的压入、弹出序列)

    题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...

  10. 剑指offer计划27(栈与队列困难)---java

    1.1.题目1 剑指 Offer 59 - I. 滑动窗口的最大值 1.2.解法 解题思路:(来自作者bigbeats) 相当于维护一个最大队列(队头元素最大,向队尾非严格递减) 在未形成窗口前,先构 ...

随机推荐

  1. ctfshow_web入门 反序列化(254~266)

    要是没接触过的师傅们,可以先看看这个 web 254 这个题没有考什么,get方式传入payload即可,这里xxxxxx,就是6gex而已 payload: ?username=xxxxxx& ...

  2. JZOJ 4366. 【GDKOI2016】项链

    \(\text{Problem}\) 给出一个项链,删去连续的一部分,使剩下的对称,且长度最长 \(\text{Analysis}\) 可以发现,剩下的合法项链一定是由两个回文串接起来(由对称性质可知 ...

  3. 提取show config命令结果

    import re import os # 从命令收集日志文件中,提取show config命令结果. file_list = os.listdir(os.getcwd()) dirname = os ...

  4. el-select 获取change点击index

    <el-select> <el-option v-for="(item, index) in optionlist" @click.native ="h ...

  5. Git与GitHub的快速使用

    Git的快速使用 1. Git简介 Git最初是Linus花了两周时间自己用C写了一个分布式版本控制系统 特点: 分布式,每一个主机都有完整版本库 开源免费性能好 注:类似GitHub这种中心环境的存 ...

  6. 100、 FilenameUtils

    FilenameUtils import org.apache.commons.io.FilenameUtils; 测试数据 String fileDirectory = "/D:/aa/b ...

  7. WeNet调试

    运行: 参照:markdown 问题: CMake Error: Error: generator : Ninja Ninja:提高构建速度 wenet/runtime/libtorch/fc_bas ...

  8. 解决点击el-dialog对话框,body抖动问题

    在vue中点击el-dialog对话框有时候body样式会加上padding-right:8px. 百度了一下多数是增加padding,然后他们的解决办法是 全局给body加样式 padding-ri ...

  9. el-input 使用 回车键会刷新页面的问题

    使用el-input的时候,光标聚焦在输入框,按下回车,会刷新页面.这是因为当el-form表单中只有一个input时,按下回车建会自动触发页面的提交功能, 产生刷新页面的行为 解决办法 法一: fo ...

  10. go语言初记

    快速了解 http://go-tour-zh.appspot.com/welcome/1 (可以需要爬墙) 下面记录下了解go的过程,特别记录下与你脑子里原有"观念"不同的地方: ...