用两个栈实现队列,剑指offer P59

public class QueueByStack {
    private Stack<Integer> stack1;
    private Stack<Integer> stack2;
    public QueueByStack() {
        // TODO Auto-generated constructor stub
        stack1 = new Stack<Integer>();
        stack2 = new Stack<Integer>();
    }
    
    public void appendTail(Integer a) {
        stack1.push(a);
    }
    public Integer deleteHead() throws Exception{
        if(stack2.isEmpty()) {
            while(!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        }
        if(stack2.isEmpty()) {
            throw new Exception("队列为空,不能删除");
        }
        return stack2.pop();
    }
    public static void main(String[] args) throws Exception {
        new QueueByStack();
        QueueByStack ququeByStack = new QueueByStack();
        ququeByStack.appendTail(1);
        ququeByStack.appendTail(2);
        System.out.println(ququeByStack.deleteHead());
    }
    
    

}

 

转载于:https://www.cnblogs.com/leehfly/p/5228626.html

Grok Bot消耗优化:利用持久化状态与摘要压缩降低API成本 在构建聊天机器人时,状态管理是影响API调用成本的关键因素。无状态接入导致每次请求携带全量历史消息,token消耗随对话长度线性增长,最终造成费用失控。持久化状态(durable state)通过将会话历史与摘要存储到外部存储,结合摘要压缩机制,仅发送最近消息与紧凑摘要,从原理上降低了单次请求的token开销。这一技术广泛适用于AI助手、客服系统等长对话场景,并能显著缓解大模型API的成本压力。文章以Grok Bot为例,详细展示了基于SQLite与Redis的状态持久化实现,以及token消耗对比数据,为 阅读详情

相关推荐

从零开始:YOLOv8车牌检测模型训练全流程实战

本文详细介绍了从零开始训练YOLOv8车牌检测模型的全流程实战指南。内容涵盖环境搭建、数据集收集与标注、模型配置与训练、评估测试及高级优化技巧。通过使用预训练模型和迁移学习,开发者可以高效构建精准的车牌检测系统,并掌握模型导出与部署的关键步骤。

weixin_29061041的博客 335

两个队列实现一个栈,剑指offer P59

public class StackByQueue { private LinkedList<String> queue1; private LinkedList<String> queue2; public StackByQueue() { queue1 = new LinkedList<String&g...

aima5980的博客 114

Java utgard连接OPC问题记录

怎么开启是个问题, 是在引入openscada的jar包里的Sever类中修改,这就犯难了, 其实没必要, 只要在自己项目下创建与openscada中Server类相同的路径,并复制Server过去改就行了, 项目会优先使用本地类,像下面这样。奇迹发生了,0x00000005解决. 注: 我的安全补丁编码跟网上查到的并不一样, 所以最初没有删,后来全都删了就好了,这个编码规则咱也不知道.安全日志中记录用户登录行为, OPC通信需要使用Windows系统用户进行登录, 如果用户名密码错误这里会有相关记录.

wangxin1949的博客 2840

《剑指Offer》面试题7:用两个栈实现队列

《剑指Offer》 P59面试题7:用两个栈实现队列题目:

(●—●) 494

Orbbec-Gemini-335 深度相机 Python SDK 编译与配置全记录(Windows 环境)

本篇博客将围绕 Windows 系统下 Orbbec SDK 的 Python 配置与编译过程进行详细说明,主要使用的是官方提供的 pyorbbecsdk Python wrapper 项目以及 Orbbec SDK V2 Python Wrapper 配置指南,并记录了安装与配置过程中遇到的若干问题及解决办法。

Junseer的博客 1963

Isaac Sim 使用经验(配置要求,云服务器)

Google Colab及AutoDL都是在docker内运行,其中google colab并不支持docker指令,而依照AutoDL的相关文档,AutoDL并不直接提供docker指令。2. Google Colab/AutoDL 不支持图形化界面,图形渲染等任务,所以没有办法使用Omniverse Streaming进行直播,从而更好的对结果进行展示。对于第一点,或许存在直接手动复现镜像的可能,但是考虑到Isaac Sim/Isaac Lab由于比较新,可能不够稳定,因此还是按照官方文档进行部署。

weixin_44211433的博客 4586

剑指 Offer 总结 - leetcode 剑指offer系列

剑指 Offer 系列完结撒花!! ???????? 本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考 总的来说, 写这个系列耗费了我不少精力, 不过我也很开心能和大家分享, 真心希望能对大家有所帮助, 也希望大家能够多多点赞转发和分享, 让更多人看到, 谢谢~ 接下来我需要休整一段时间来准备新的系列了, 中间也可能会有一些不定期更新. 至于新系列是什么呢? 大家敬请期待 ???? P.S.

随便发挥的博客 3556

基于人脸识别的课堂考勤系统 tkinter+openpyxl+face_recognition

基于face_recognition库实现人脸考勤系统功能。利用Python的tkinter模块来设计考勤系统的图形化界面,此外结合openpyxl模块,实现将学生的信息和考勤打卡数据保存到表格中,方便查看和调用。该系统具备“刷脸打卡”、“新学生注册”等功能。............

lyx4949的博客 6965

【刷题】2021最新剑指Offer汇总

新手村 关卡1-1 洛谷的第一个任务 超级玛丽游戏(洛谷-P1000):点击这里 A+B Problem(洛谷-P1001):点击这里

瑞新の博客:bennyrhys 6299

《python算法与数据结构2000讲》算法与数据结构总结

《python算法与数据结构2000讲》算法与数据结构总结

IT 甄选推荐 1102

[QMT量化交易小白入门]-105、震荡市最适合的策略:ETF多标的动态网格策略,回测年化收益47.81%

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写200篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 2061

剑指 Offer 59 - II. 队列的最大值

剑指 Offer 59 - II. 队列的最大值 难度:中等 请定义一个队列并实现函数max_value得到队列里的最大值,要求函数max_value、push_back和pop_front的均摊时间复杂度都是O(1)。 若队列为空,pop_front和max_value需要返回 -1 示例 1: 输入: ["MaxQueue","push_back","push_back","max_value","pop_front","max_value"] [[],[1],[2],[]...

L_smartworld的博客 271

基于matlab的轴承损伤分析动力学建模仿真

高质量的轴承在正确的使用下,可以使用很长一段时间,如果过早的出现损伤,很可能是因为选型错误,使用不当或润滑不良造成的。因此,在安装轴承时,我们需要记录机器种类,安装部位,使用条件及周围配合。通过研究总结轴承损伤的类型,发生问题时的使用环境,以避免类似情况再次发生。轴承损伤方式按下述图片分类,我们可以图片中显示的主要特征来判断轴承损伤形式。01、压痕碰伤卡入固体异物或冲击造成的表面凹坑及安装是的擦伤◆固体异物侵入◆在倾斜状态下安装◆安装不良造成的撞击,脱落◆卡入剥离片◆改善安装、使用方法。

平时工作较为繁忙,私信消息一般晚上回复,谢谢大家~~ 2667

剑指 Offer——栈与队列

路漫漫其修远兮,吾将上下而求索

happy_Jianghui的博客 377

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【剑指offer】7. 用两个栈实现队列

题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 思路 《剑指offer》P59 入队的元素进入stack1,出队的元素从stack2中获取: 入栈时:直接push进stack1中即可; 出栈时考虑两种情况: stack2为空时,需要将stack1中的元素依次弹出并压入stack2中,再从stack2中取即可; stack2不为空时,直接从stac...

要加油 208

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

剑指Offer-数据结构与算法题目(Java实现)

1、栈与队列 【实现一个栈】 【实现一个队列】 【构造一个栈,取最大最小、pop()、push()都是o(1)】 【两个栈实现一个队列】 【两个队列实现一个栈】 【栈的入栈、出栈序列】 2、链表的基本操作 【链表反转】 【按k步反转链表】 【取链表的倒数k个数&中间节点】 【两个有序链表合成一个有序链表】 【删除重复节点】 【取两个链表的第一个交叉节点】 【取链表中环的第一个节点】 【约瑟...

聚沙成塔 1019

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

剑指offer刷题顺序

数组(共12道题目): 【剑指Offer】1、二维数组中的查找 【剑指Offer】6、旋转数组的最小数字 【剑指Offer】13、调整数组顺序使奇数位于偶数前面 【剑指Offer】19、顺时针打印矩阵 【剑指Offer】28、数组中出现次数超过一半的数字 【剑指Offer】30、连续子数组的最大和 【剑指Offer】32、把数组排成最小的数 【剑指Offer】35、数组中的逆序对 【剑指Offer】37、数字在排序数组中出现的次数 【剑指Offer】40、数组中只出现过一次的数字 【剑

sunjingze1的博客 2434

剑指offer题型分类(持续更新~)

剑指offer题型分类及各题的代码及解题思路(单击题目即可跳转) 题目分类参考:①和② 注:单击即可跳转到题目的详细代码(很多思路都来源于剑指offer第二版一书和牛客网剑指offer讨论区大佬们,非常感谢他们) 以下题目的序号和【剑指offer 第二版】一书对应 , 如有错误,欢迎指正 ^ - ^ 【祝愿大家早日拿到心仪的offer】 数组和字符串 数组 面试题3. 数组...

请叫我皮皮虾的博客 2596

剑指 Offer(第 2 版) 出现频率从高到低 已经完结100题

剑指 Offer 03. 数组中重复的数字 遍历+mp class Solution { public: int mp[100007]; int findRepeatNumber(vector<int>& nums) { for(auto x:nums){ mp[x]++; if(mp[x]>1)return x; } return nums[0]; } }

bjfu170203101的博客 1224

剑指offer题目汇总——栈和队列

剑指offer题目汇总——栈和队列方法题目剑指 Offer 06. 从尾到头打印链表题目描述题解剑指 Offer 09. 用两个栈实现队列题目描述题解剑指 Offer 30. 包含min函数的栈题目描述题解剑指 Offer 31. 栈的压入、弹出序列题目描述题解剑指 Offer 59 - I. 滑动窗口的最大值题目描述题解剑指 Offer 59 - II. 队列的最大值题目描述题解 方法 需要逆序输出时考虑用栈,利用栈后进先出的特性 加入一个辅助栈 保证顺序输出时考虑用队列,利用队列先进先出的特性 采用

weixin_46574339的博客 469

剑指offer——面试题7:用两个栈实现队列

题目(牛客网):用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型 代码: class Solution { public: void push(int node) { stack1.push(node); } int pop() { int temp = 0; if(st

denghe优快云的博客 560

LeetCode+剑指offer 题目(按标签汇总)

数组相关 1.两数之和

人大神成长记2 6153

剑指offer——面试题9:用两个栈实现队列

#include "Queue.h" // ====================测试代码==================== void Test(char actual, char expected) { if(actual == expected) printf("Test passed.\n"); else pr...

weixin_34159110的博客 168

剑指Offer 刷题记录

剑指offer题目 01. 二维数组中的查找 【方法一】 每一行二分查找 # -*- coding:utf-8 -*- class Solution: # array 二维列表 def Find(self, target, array): # write code here if not array or len(array[0])==0: ...

阿辉的博客 562

leetcode 台阶_剑指 Offer 总结 leetcode 剑指offer系列

点击专辑上方“蓝字”关注我吧剑指 Offer 系列完结撒花!! ??本篇文章是对整个系列的精华总结, 对系列的每篇文章进行了分类, 并用一句话概括每道题的思路, 方便大家理解和记忆, 当然也包含原文完整链接供大家参考总的来说, 写这个系列耗费了我不少精力, 不过我也很开心能和大家分享, 真心希望能对大家有所帮助, 也希望大家能够多多点赞转发和分享, 让更多人看到, 谢谢~接下来我需要休整...

weixin_39857792的博客 118

(27/31)剑指 Offer: 59-I&59-II.栈与队列(困难)(仅代码)

剑指 Offer: 59-I&59-II.栈与队列(困难)(仅代码)

weixin_57612827的博客 96
上一篇: 旋转数组中的最小数字,剑指offer,P70 二分查找来实现O(logn)的查找
下一篇: 两个队列实现一个栈,剑指offer P59
aima5980
博客等级 码龄11年 1粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值