当前位置: 首页 > news >正文

代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈

232.用栈实现队列

在这里插入图片描述

题目链接:232. 用栈实现队列
文档讲解:代码随想录
状态:写出来 ,但差强人意

思路: 定义两个容器,可以是Stack,也可以是Deque,stackIn相当于临时容器,用来存放元素,stackOut相当于最终容器,当需要查看或返回元素时,会把stackIn中的元素往stackOut中汇总一次。

题解:

public class MyQueue_232 {//stackIn相当于临时容器,用来存放元素//stackOut相当于最终容器,当需要查看或返回元素时,会把stackIn中的元素往stackOut中汇总一次Deque<Integer> stackIn;Deque<Integer> stackOut;public MyQueue_232() {stackIn = new ArrayDeque<>();stackOut = new ArrayDeque<>();}public void push(int x) {stackIn.push(x);}//当stackOut为空时,stackIn中元素存入stackOut中public int pop() {if (stackOut.isEmpty()) {inToOut();}return stackOut.pop();}public int peek() {if (stackOut.isEmpty()) {inToOut();}return stackOut.peek();}public boolean empty() {return stackIn.isEmpty() && stackOut.isEmpty();}void inToOut() {while (!stackIn.isEmpty()) {stackOut.push(stackIn.pop());}}@Overridepublic String toString() {return "MyQueue_232{" +"stackIn=" + stackIn +", stackOut=" + stackOut +'}';}

225.用队列实现栈

在这里插入图片描述

题目链接:225.用队列实现栈
文档讲解:代码随想录
状态:没啥好说的

题解:

class MyStack {Deque<Integer> deque1 = new LinkedList<>();Deque<Integer> deque2 = new LinkedList<>();public void push(int x) {deque1.push(x);deque2.push(x);}public int pop() {deque1.pollLast();return deque2.poll();}public int top() {return deque2.peek();}public boolean empty() {return deque2.isEmpty();}}

相关文章:

代码随想录算法训练营第十天|232.用栈实现队列、225. 用队列实现栈

232.用栈实现队列 题目链接&#xff1a;232. 用栈实现队列 文档讲解&#xff1a;代码随想录 状态&#xff1a;写出来 &#xff0c;但差强人意 思路&#xff1a; 定义两个容器&#xff0c;可以是Stack&#xff0c;也可以是Deque&#xff0c;stackIn相当于临时容器,用来存放元素&…...

STM32 IIC协议

本文代码使用 HAL 库。 文章目录 前言一、什么是IIC协议二、IIC信号三、IIC协议的通讯时序1. 写操作2. 读操作 四、上拉电阻作用总结 前言 从这篇文章开始为大家介绍一些通信协议&#xff0c;包括 UART&#xff0c;SPI&#xff0c;IIC等。 UART串口通讯协议 SPI通信协议 一、…...

Java生成随机数的几种方式

随机数&#xff0c;在一些特殊场景下&#xff0c;是非常常用的。比如一些测试和验证场景、安全加密、随机抽样等都有随机数的‘身影’。 一、 使用java.util.Random类 java.util.Random类提供了更全面的随机数生成功能&#xff0c;包括随机整数、随机浮点数、随机布尔值等。 p…...

【面试】什么是Java虚拟机

目录 1. 说明2. 关键点 1. 说明 1.Java虚拟机&#xff08;Java Virtual Machine&#xff0c;简称JVM&#xff09;是运行所有Java程序的抽象计算机&#xff0c;是Java语言的运行环境。2.JVM是Java平台无关性的关键&#xff0c;它允许Java程序在任何支持JVM的硬件和操作系统上运…...

Go 语言的基本构成、要素与编写规范

Go 语言&#xff0c;作为由 Google 开发的现代编程语言&#xff0c;以其简洁、高效和并发编程能力而著称。在构建高性能分布式系统和现代软件开发中&#xff0c;Go 语言正日益受到欢迎。本篇文章将详细探讨 Go 语言程序结构的各个要素&#xff0c;包括函数定义、注释规范、数据…...

从了解到掌握 Spark 计算框架(二)RDD

文章目录 RDD 概述RDD 组成RDD 的作用RDD 算子分类RDD 的创建1.从外部数据源读取2.从已有的集合或数组创建3.从已有的 RDD 进行转换 RDD 常用算子大全转换算子行动算子 RDD 算子综合练习RDD 依赖关系窄依赖宽依赖宽窄依赖算子区分 RDD 血统信息血统信息的作用血统信息的组成代码…...

香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(三)

整期笔记索引 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;一&#xff09; 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;二&#xff09; 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;…...

【git】常用命令

删除 删除本地分支&#xff1a; // 删除本地分支 git branch -d localBranchName 删除远程仓库分支 git push origin --delete <branch_name> 验证远程分支是否删除 git fetch -p //会清理已经删除的远端分支的引用 git branch -r //列出所有远端分支&#xff0…...

JavaWeb_MySQL数据库

数据库&#xff1a; MySQL数据模型&#xff1a; MySQL是关系型数据库。 SQL&#xff1a; 简介 分类&#xff1a; 数据库设计-DDL 对数据库操作&#xff1a; 表操作&#xff1a; 小练习&#xff1a; 创建下表 SQL代码&#xff1a; create table tb_user (id int primar…...

中国BI步入增长大周期,腾讯云ChatBI加速AI+BI融合

过去十年&#xff0c;大数据技术的快速发展&#xff0c;让数据消费前进一大步&#xff0c;数据价值得到一定程度的挖掘与释放&#xff0c;真正开启了“用数”的大时代。但数据分析繁杂的技术栈、复杂的处理过程以及程式化的交互方式&#xff0c;让“数据消费”的门槛始终降不下…...

揭秘Python:下划线的特殊用法,你绝对想不到!

在Python编程中&#xff0c;下划线&#xff08;underscore&#xff09;是一个常见而又强大的工具。它不仅仅是一个普通的字符&#xff0c;而是具有特殊含义和用法的符号。今天&#xff0c;我们就来揭开Python下划线的神秘面纱&#xff0c;探索它的各种妙用。 下划线的基本用法…...

深入探索Java世界中的Jackson魔法:玩转JsonNode

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 揭秘Jackson库&#xff1a;JSON处理的瑞士军刀 在Java的世界里&#xff0c;处理JSON数据就像是一场探险。幸运的是&#xff0c;Jackson库就像一把多功能的瑞士军刀&#xff0c;为提供了强大而灵活的工具来解析和操作…...

为什么要使用动态代理IP?

一、什么是动态代理IP&#xff1f; 动态代理IP是指利用代理服务器来转发网络请求&#xff0c;并通过不断更新IP地址来保护访问者的原始IP&#xff0c;从而达到匿名访问、保护隐私和提高访问安全性的目的。动态代理IP在多个领域中都有广泛的应用&#xff0c;能够帮助用户…...

【PB案例学习笔记】-09滚动条使用

写在前面 这是PB案例学习笔记系列文章的第8篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gitee…...

C++中常见的构造函数类别

目录 摘要 默认构造函数&#xff08;Default Constructor&#xff09;&#xff1a; 带参数的构造函数&#xff08;Parameterized Constructor&#xff09;&#xff1a; 拷贝构造函数&#xff08;Copy Constructor&#xff09;&#xff1a; 移动构造函数&#xff08;Move C…...

万界星空科技MES系统功能介绍

制造执行系统或MES 是一个全面的动态软件系统&#xff0c;用于监视、跟踪、记录和控制从原材料到成品的制造过程。MES在企业资源规划(ERP) 和过程控制系统之间提供了一个功能层&#xff0c;为决策者提供了提高车间效率和优化生产所需的数据。 万界星空科技MES 系统基础功能&am…...

炸裂的开源AI语音生成模型ChatTTS

今天看到GitHub上开源了一个非常厉害的AI语音生成模型ChatTTS&#xff0c;可以生成和人类声音非常接近的语音&#xff0c;而且有语气、语调、可以停顿和发出笑声&#xff0c;再也没有了以前的AI味道 体验地址&#xff1a;https://colab.research.google.com/drive/1MYep5f0-BJ…...

Mac逆向Electron应用

工具库 解压asar文件 第一步 找到应用文件夹位置 打开活动监视器&#xff1a; 搜索相关应用 用命令行打开刚才复制的路径即可 open Applications/XXX.app/Contents/Resources/app第二步 解压打包文件 解压asar文件...

(三)MobaXterm、VSCode、Pycharm ssh连接服务器并使用

背景&#xff1a;根据前两篇文章操作完成后&#xff0c; 手把手教学&#xff0c;一站式安装ubuntu及配置服务器-CSDN博客 手把手教学&#xff0c;一站式教你实现服务器&#xff08;Ubuntu&#xff09;Anaconda多用户共享-CSDN博客 课题组成员每人都有自己的帐号了&#xff0…...

【Linux】初识信号及信号的产生

初始信号 初始信号什么是信号站在应用角度的信号查看Linux系统定义的信号列表 信号的常见处理方式信号的产生通过终端按键产生信号什么是core dump?如何开启core dump?core dump有什么用&#xff1f;为什么默认关闭core dump&#xff1f;设置了core文件大小但是没有产生core文…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

golang循环变量捕获问题​​

在 Go 语言中&#xff0c;当在循环中启动协程&#xff08;goroutine&#xff09;时&#xff0c;如果在协程闭包中直接引用循环变量&#xff0c;可能会遇到一个常见的陷阱 - ​​循环变量捕获问题​​。让我详细解释一下&#xff1a; 问题背景 看这个代码片段&#xff1a; fo…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域&#xff0c;高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表&#xff0c;以及基于它们实现的 Reactor 模式&#xff0c;为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...