14--用两个栈实现队列

文章目录

  • 1.题目详情
  • 2.解题代码

1.题目详情

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 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]

2.解题代码

class CQueue:def __init__(self):self.A, self.B = [], []def appendTail(self, value: int) -> None:self.A.append(value)def deleteHead(self) -> int:#若队列B中有元素,则直接弹出if self.B: return self.B.pop()#若队列A中没有元素,deleteHead 操作返回 -1if not self.A: return -1#若B中没有元素,且A中有元素,则先使用append进栈,在使用pop出栈while self.A:self.B.append(self.A.pop())return self.B.pop()# Your CQueue object will be instantiated and called as such:
# obj = CQueue()
# obj.appendTail(value)
# param_2 = obj.deleteHead()

在这里插入图片描述

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

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

相关文章

15--0~n-1中缺失的数字

文章目录1. 问题描述2. 解题代码1. 问题描述 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例 1: 输入: [0,…

JIRA 5.0.1 发布

Atlassian公司发布了JIRA 5.0.1版本,该版本相比JIRA 5.0有更多改进功能。1. 管理界面的改进 将更多页面管理转为对话框形式。例如点击页面右上方的“Add New”就可实现新增issue types、sub-tasks、field configurations 、screens。2. 性能改进 解决了基于Lucene 3…

16 --删除排序数组中的重复项

文章目录1.问题描述2.代码实现1.问题描述 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的…

17--合并两个有序数组

文章目录1.问题描述2.代码实现1.问题描述 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。 你可以假设 nums1 有足够的空间(空间…

Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 把要用的jar放在固定位置: 2.打开CMD,进入到libs文件夹: 3.运行如下命令: mvn install:install-…

黄文俊:Serverless小程序后端技术分享

欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 黄文俊,现任腾讯云SCF无服务器云函数高级产品经理,多年企业级系统开发和架构工作经验,对企业级存储、容器平台、微服务架构、无服务器计算等领域均有涉猎。今天讲的是怎么…

18--两数之和 II - 输入有序数组

文章目录1.问题描述2.解题代码1.问题描述 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2&a…

Oracle数据库(二)—— 基本的SQL SELECT语句

(一)SQL语句分为一下三种类型 DML:Date Manipulation Language 数据操纵语言DDL:Data Definition Language 数据定义语言DCL:Data Control Language 数据控制语言DML:用于查询与修改数据记录 包括如下SQL语句&#xff…

简单 3 步实现高效编程

本文的内容可能部分开发者已经了解,并且已经按照这些方法实施了。但本文还是想强调这些方法,因为这些简单的方法可以让你的工作更加高效。要想实现高效编程,最主要的是集中注意力,但这往往也是比较难以实现的,因为你在…

19--两数之和

文章目录1.题目要求2.代码详情1.题目要求 2.代码详情 java:暴力求解法hashmap法 class Solution {// 方法一&#xff1a;暴力求解法// public int[] twoSum(int[] nums, int target) {// int n nums.length;// for (int i0; i<n; i){// for (int ji1; j…

redis的配置文件

redis的配置文件 之前在实习的时候才开始接触redis&#xff0c;随着对redis的理解加深&#xff0c;才慢慢明白它的强大&#xff0c;也逐渐对他的配置有了一定的了解。下面就分享给大家&#xff0c;以便日后查看。 位置 redis的配置文件名为redis.conf在它的安装目录下。 参数说…

你的代码(软件)安全吗?【信息图】

2011年安全事件层出不穷&#xff0c;几乎可以称为“黑客年”。以前黑客通常是利用程序漏洞来造成破坏&#xff0c;令网站陷入尴尬的境地&#xff0c;但如今他们却是为了窃取数据、IP地址&#xff0c;或者通过在网站中植入木马将恶意软件安装到访客的电脑里&#xff0c;更有甚者…

20--两个数组的交集

文章目录1.问题描述2.代码详情1.问题描述 给定两个数组&#xff0c;编写一个函数来计算它们的交集。 示例 1&#xff1a; 输入&#xff1a;nums1 [1,2,2,1], nums2 [2,2] 输出&#xff1a;[2] 示例 2&#xff1a; 输入&#xff1a;nums1 [4,9,5], nums2 [9,4,9,8,4] 输…

跳出IT运维怪圈 看南方报业如何主动出击

虽说世界上没有一劳永逸的事情&#xff0c;不过借助某些方案&#xff0c;IT运维倒可做到事半功倍。近日&#xff0c;南方报业传媒集团采用新华三智动远程运维服务解决方案&#xff0c;利用7*24级别安仔的桌面服务&#xff0c;实现IT运维智能化、自动化管理&#xff0c;有效保障…

网络传输与加密

谈到网络&#xff0c;就必然会涉及网络安全。但“安全”这个事情&#xff0c; 一下子就会让人联想到黑客&#xff0c;进而把“安全”这个事情无限放大为各种高大上、神秘莫测、不可知。这不是一个engineer应有的态度&#xff08;《一次艰难debug的反思》&#xff09;。 要讨论网…

21--最小栈

文章目录1.问题描述2. 代码详情1.问题描述 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 push(x) —— 将元素 x 推入栈中。 pop() —— 删除栈顶的元素。 top() —— 获取栈顶元素。 getMin() —— 检索栈中的…

22--删除字符串中的所有相邻重复项

文章目录1. 题目要求2.代码详情1. 题目要求 给出由小写字母组成的字符串 S&#xff0c;重复项删除操作会选择两个相邻且相同的字母&#xff0c;并删除它们。 在 S 上反复执行重复项删除操作&#xff0c;直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保…