随想录D10 | 232,225

news/2024/12/20 19:19:16/

232.用栈实现队列

使用栈实现队列的下列操作:

push(x) -- 将一个元素放入队列的尾部。

pop() -- 从队列首部移除元素。

peek() -- 返回队列首部的元素。

empty() -- 返回队列是否为空。

示例:

MyQueue queue = new MyQueue();

queue.push(1);

queue.push(2);

queue.peek();  // 返回 1

queue.pop();   // 返回 1

queue.empty(); // 返回 false

说明:

你只能使用标准的栈操作 -- 也就是只有 push to top, peek/pop from top, size, 和 is empty 操作是合法的。

你所使用的语言也许不支持栈。你可以使用 list 或者 deque(双端队列)来模拟一个栈,只要是标准的栈操作即可。

假设所有操作都是有效的 (例如,一个空的队列不会调用 pop 或者 peek 操作)。

这是一道模拟题,不涉及到具体算法,考察的就是对栈和队列的掌握程度。

使用栈来模式队列的行为,如果仅仅用一个栈,是一定不行的,所以需要两个栈一个输入栈,一个输出栈,这里要注意输入栈和输出栈的关系。

思路:

用两个栈模拟一个队列,一个栈进一个栈出

注意:

实现pop功能时,要将stackIn中的数据全部转入stackOut,才能保证数据顺序不出错

栈stack存入数据是用push(),不是push_back()

这里peek()功能复用了pop()功能函数

栈顶的数据用top()

225. 用队列实现栈

使用队列实现栈的下列操作:

push(x) -- 元素 x 入栈

pop() -- 移除栈顶元素

top() -- 获取栈顶元素

empty() -- 返回栈是否为空

注意

你只能使用队列的基本操作-- 也就是 push to back, peek/pop from front, size, 和 is empty 这些操作是合法的。

你所使用的语言也许不支持队列。 你可以使用 list 或者 deque(双端队列)来模拟一个队列 , 只要是标准的队列操作即可。

你可以假设所有操作都是有效的(例如, 对一个空的栈不会调用 pop 或者 top 操作)。

思路:

用一个队列来模拟栈

 

注意:

队列没有top(), 只有front(), back()

将前三个数据重复添加到队列末尾时,要把队列首部的数据删掉

 


http://www.ppmy.cn/news/934194.html

相关文章

Delphi D10.X 移动开发中APP界面基本布局(二)

很久前就想写这篇了,一直没动手,因为懒,太懒。也没有动力,朋友们多收藏、多点赞可能动力会强些。 前言 这篇博客,说是界面布局(二),其实更确切的说应该是(一&#xff0…

Delphi D10.X快速实现安卓状态栏沉浸模式

前言 使用Delphi开发安卓APP时,我们经常想要实现状态栏沉浸样式,但这方面资料较少,很多使用修改配置文件的方式去处理。使用起来相对麻烦了一些。为此,我花了点时间观摩学习了JAVA及其他Delphi实现状态栏沉浸式的代码&#xff0c…

delphi D10.X开发Linux 知道这些少走弯路

花了一些时间来测试Delphi开发Linux程序,简单总结一下,这些也是花时间走了弯路才明白的。 关于支持的Linux系统 根据官方介绍,Delphi开发Linux的程序,支持这些系统:Ubuntu 18.04 LTS,Ubuntu 16.04 LTS&am…

Delphi D10.X VCL和FireMonkey之间的常见差异介绍

尽管FireMonkey控件与VCL控件看上去非常的相似性,但是许多小的差异可能会使熟悉VCL的人不知所措。这里给大家介绍其中一些差异。 VCL与FireMonkey不兼容 警告:FireMonkey与VCL本质上是完全不同的,FireMonkey(FMX)和可…

寒假学习记录D10

1.OpenCV学习 2.Javaweb前端 3.算法基础练习 1.OpenCV学习 2.Javaweb前端 Hbuilder写代码: 边框: 3.算法基础练习 题目描述 又到了一年一度的明明生日了,明明想要买 B 样东西,巧的是,这 B 样东西价格都是 A 元。 …

D10|栈和队列

原理 简单来说,stack和deque并非容器,而是容器适配器,底层实现可自定义,可以是list、deque(在python中);实现stack接口(pop、top、push),queue接口&#xff…

Delphi D10.X 使用并行编程库

delphi中的RTL(运行库)提供了并行编程库(PPL --Parallel Programming Library) ,让您的应用程序可以在跨平台应用中有效的使用多个CPU并行运行任务的能力。PPL包括正在运行的任务、加入的任务、等待任务组等多个先进功…

机器学习D10——WOE和IV编码

概述 WOE和IV通常是用在模型特征筛选的。IV和WOE能够帮助我们衡量什么变量应该进入模型,什么变量应该舍弃。用IV和WOE的值来进行判断,值越大就表示该特征的预测能力越强,则该特征应该加入到模型的训练中。 应用 1、变量筛选。我们需要选择…