【剑指offer】面试题09:用两个栈实现队列(Java)

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )

 

示例 1:

输入:
["CQueue","appendTail","deleteHead","deleteHead"]
[[],[3],[],[]]
输出:[null,null,3,-1]
示例 2:

输入:
["CQueue","deleteHead","appendTail","appendTail","deleteHead","deleteHead"]
[[],[],[5],[2],[],[]]
输出:[null,-1,null,null,5,2]
提示:

1 <= values <= 10000
最多会对 appendTail、deleteHead 进行 10000 次调用

代码:

class CQueue {

    Stack<Integer> stack1;

    Stack<Integer> stack2;

    public CQueue() {

        stack1 = new Stack<Integer>();//添加栈

        stack2 = new Stack<Integer>();

    }

    

    public void appendTail(int value) {

        while(!stack2.isEmpty())

        {

            stack1.push(stack2.pop());

        }

        stack1.push(value);

    }

    

    public int deleteHead() {

        while(!stack1.isEmpty())

        {

            stack2.push(stack1.pop());

        }

        if(stack2.isEmpty())

        {

            return -1;

        }

        return stack2.pop();

    }

}

 

/**

 * Your CQueue object will be instantiated and called as such:

 * CQueue obj = new CQueue();

 * obj.appendTail(value);

 * int param_2 = obj.deleteHead();

 */

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

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

相关文章

GLSL中 Billboard和Point的顶点空间变换

请见我的文章: https://blog.csdn.net/vily_lei/article/details/82459551 转载于:https://www.cnblogs.com/vilyLei/articles/9597742.html

跌宕七十年,日本制造业兴衰「启示录」

作者&#xff1a; 凡夫俗子来源&#xff1a;凡夫俗子财经带着这样的问题&#xff0c;本文将对日本制造业的兴衰历程做一个详细的回顾与反思。在眼下的特殊时期&#xff0c;相信这个与中国一水相隔的国家所经历的种种&#xff0c;会给我们带来很好的启示。一、日本制造是一部技术…

【剑指offer】面试题10- I:斐波那契数列(Java)

写一个函数&#xff0c;输入 n &#xff0c;求斐波那契&#xff08;Fibonacci&#xff09;数列的第 n 项。斐波那契数列的定义如下&#xff1a; F(0) 0, F(1) 1 F(N) F(N - 1) F(N - 2), 其中 N > 1. 斐波那契数列由 0 和 1 开始&#xff0c;之后的斐波那契数就是由之…

Redis高可用详解:持久化技术及方案选择

文章摘自&#xff1a;https://www.cnblogs.com/kismetv/p/9137897.html 前言 在上一篇文章中&#xff0c;介绍了Redis的内存模型&#xff0c;从这篇文章开始&#xff0c;将依次介绍Redis高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技…

联合国首席AI顾问专访:我们期望AI应该是完美的,但这永远不会

大数据文摘出品来源&#xff1a;informationweek编译&#xff1a;张大笔茹联合国首席人工智能顾问Neil Sahota分享其对联合国重大AI项目以及当今AI面临的主要挑战的看法。人工智能在各个行业和政府中广泛使用的例子一度存在于科幻小说中。但如今&#xff0c;我们不必担心像许多…

【剑指offer】面试题10- II:青蛙跳台阶问题(Java)

一只青蛙一次可以跳上1级台阶&#xff0c;也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e97&#xff08;1000000007&#xff09;&#xff0c;如计算初始结果为&#xff1a;1000000008&#xff0c;请返回 1。 示例 1&#xff1a; 输入&a…

特约专栏丨王耀南院士:人工智能赋能无人系统

来源&#xff1a;中国人工智能学会1 机器智能与智能机器让机器具备人一样的智能&#xff0c;赋予机器思考和推理的能力&#xff0c;是人类最伟大的梦想之一。早在 1948 年&#xff0c;图灵在题为《智能机器》的论文里&#xff0c;第一次为世人勾勒出了人工智能领域的轮廓。随后…

Leetcode--225. 用队列实现栈(Java)

使用队列实现栈的下列操作&#xff1a; push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空 注意: 你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。 你所使用的语…

整个宇宙可能是个巨大的神经网络?看科学家们是这样解释的

来源&#xff1a;The Next Web作者&#xff1a;Tristan Greene编译&#xff1a;科技行者核心思想可以简单总结为&#xff1a;整个神经网络内的每种可观察的现象&#xff0c;都可以通过神经网络进行建模。从这个角度来看&#xff0c;宇宙自身在广义上也可能是个硕大无朋的神经网…

StretchBlt函数和BitBlt函数的区别和用法

StretchBlt和BitBlt都用用来显示一幅图像 一、StretchBlt 函数从源矩形中复制一个位图到目标矩形&#xff0c;必要时按目标设备设置的模式进行图像的拉伸或压缩。也即是将内存中的位图拷贝到屏幕上&#xff0c;并且可以根据屏幕画图区的大小来进行伸缩&#xff0c;适应响应的屏…

【剑指offer】面试题11:旋转数组的最小数字(java)

把一个数组最开始的若干个元素搬到数组的末尾&#xff0c;我们称之为数组的旋转。输入一个递增排序的数组的一个旋转&#xff0c;输出旋转数组的最小元素。例如&#xff0c;数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转&#xff0c;该数组的最小值为1。 示例 1&#xff1a; …

Nature封面!我国仿生软体机器人“打卡”地球最深海沟,遨游水下10900米!

来源&#xff1a;之江实验室、仿生深海软体机器人项目组、浙江大学▍适应万米静水压的软体机器人由于极端的静水压力&#xff0c;深海区域人们基本很难探测。位于西太平洋的马里亚纳海沟是已知的海洋最深处&#xff0c;水压高、温度低、完全黑暗&#xff0c;被称为“地球第四极…

SSD: ReLU6

1、在src\caffe\proto\caffe.proto中搜索message LayerParameter,在optional ReLUParameter relu_param 123之后添加optional ReLU6Parameter relu6_param 208; (最后的分号别忘了) 2、搜索message ReLUParameter,在这个ReLUParameter实现结构之后添加 // Message that store…

【剑指offer】面试题12:矩阵中的路径(Java)

请设计一个函数&#xff0c;用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始&#xff0c;每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格&#xff0c;那么该路径不能再次进入该格子。例如&#xf…

2021年斯坦福AI指数报告重磅出炉!中国AI期刊影响力首超美国,视频处理是新风口...

来源&#xff1a;AI科技评论作者&#xff1a;AI科技评论CV在快速工业化&#xff0c;大公司正扩大计算鸿沟。就在刚刚&#xff0c;斯坦福大学正式发布《2021年人工智能指数报告》&#xff08;“Artificial Intelligence Index Report 2021”&#xff09;&#xff01;报告链接&am…

16重新安装HA0.63

2018-02-24 14:17:46 https://home-assistant.io/docs/installation/raspberry-pi/首先安装2017-11-29-raspbian-stretch树莓派镜像到SD卡&#xff0c;步骤如下&#xff1a;下载镜像文件&#xff0c;转到网页https://www.raspberrypi.org/downloads/raspbian/&#xff0c;下载“…

【剑指 offer】面试题13:机器人的运动范围(Java)

地上有一个m行n列的方格&#xff0c;从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动&#xff0c;它每次可以向左、右、上、下移动一格&#xff08;不能移动到方格外&#xff09;&#xff0c;也不能进入行坐标和列坐标的数位之和大于k的格子。例如&am…

超人类AI的幻想与思考:自下而上构建的自我迭代意识系统

来源&#xff1a;人民网或许很多人都幻想过&#xff0c;如果有一天&#xff0c;人工智能超越了人类的智力水平&#xff0c;世界将会发声怎样天翻地覆的变化。而在这个看似遥远&#xff0c;又似乎近在咫尺的幻想实现之前&#xff0c;不放让我们来深入探讨一下&#xff0c; 怎样才…

【剑指offer】面试题14- I:剪绳子(Java)

给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少&#xff1f;例如&#xff0c;当绳子的…

elk安装

官网下载最新的rpm包安装。 http://blog.51cto.com/liqingbiao/1928653 es安装head 先安装node wget https://nodejs.org/dist/v0.10.48/node-v0.10.48.tar.gz 加压&#xff0c;make&#xff0c;make install node --version git clone https://github.com/mobz/elasticsearch…