代码随想录算法训练营第十天 | leetcode 232 225 20 1047

news/2025/10/7 17:16:49/文章来源:https://www.cnblogs.com/yhq001/p/19128639
    1. 用栈实现队列
      整体思路:使用两个栈一个当作入栈,一个当作出栈,当队列需要出队列的时候,将入栈的元素,倒序放入出栈里面,对出栈进行pop操作即可,若需要获得队头元素,同理,执行出栈peek操作即可,判断队列是否为空要进行判断入栈和出栈里是否均为空
    1. 用队列实现栈
      解题思路:在加入元素时先将q1中的元素依次出栈压入q2,然后将新加入的元素压入q1,再将q2中的元素依次出栈压入q1
      public void push(int x) { while (q1.size() > 0) { q2.add(q1.poll()); } q1.add(x); while (q2.size() > 0) { q1.add(q2.poll()); } }
    1. 有效的括号
      解题思想:利用栈进行消消乐匹配,最后判断栈是否为空,不为空则不能完全匹配
      代码如下:class Solution { public boolean isValid(String s) { Stack<Character> stack = new Stack<>(); for(char c:s.toCharArray()){ if(c==')'&&!stack.isEmpty()&&stack.peek()=='('){ stack.pop(); }else if(c=='}'&&!stack.isEmpty()&&stack.peek()=='{'){ stack.pop(); }else if(c==']'&&!stack.isEmpty()&&stack.peek()=='['){ stack.pop(); }else{ stack.push(c); } } if(stack.isEmpty()){ return true; }else{ return false; } } }
    1. 删除字符串中的所有相邻重复项
      解题思想:类似于上题的括号匹配,这里用队列,方便最后字符串的返回
      代码:class Solution { public String removeDuplicates(String S) { //ArrayDeque会比LinkedList在除了删除元素这一点外会快一点 //参考:https://stackoverflow.com/questions/6163166/why-is-arraydeque-better-than-linkedlist ArrayDeque<Character> deque = new ArrayDeque<>(); char ch; for (int i = 0; i < S.length(); i++) { ch = S.charAt(i); if (deque.isEmpty() || deque.peek() != ch) { deque.push(ch); } else { deque.pop(); } } String str = ""; //剩余的元素即为不重复的元素 while (!deque.isEmpty()) { str = deque.pop() + str; } return str; } }

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

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

相关文章

重庆永川网站建设公司广东个人备案网站内容

SQL RDBMS 概念 RDBMS是关系数据库管理系统(Relational Database Management System)的缩写。 RDBMS是SQL的基础&#xff0c;也是所有现代数据库系统(如MS SQL Server、IBMDB2、Oracle、MySQL和MicrosoftAccess)的基础。 关系数据库管理系统(Relational Database Management Sy…

深入解析:黑马k8s(十七)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

怎么做下载类的网站课程平台网站建设报价

Gateway整合Sentinel ​ 前面使用过Sentinel组件对服务提供者、服务消费者进行流控、限流等操作。除此之外&#xff0c;Sentinel还支持对Gateway、Zuul等主流网关进行限流。 ​ 自sentinel1.6.0版开始&#xff0c;Sentinel提供了Gateway的适配模块&#xff0c;能针对路由(rou…

openJDK历史版本

https://jdk.java.net/archive/

2025冲压件厂家权威推荐榜:冲压件/新能源冲压件/光伏冲压件/精密冲压件/异形冲压件/五金冲压件/铝冲压件/汽配冲压件/不锈钢冲压件/家具冲压件厂家公司精密制造与品质保障实力之选

行业背景分析随着制造业向高端化、智能化方向转型升级,冲压件作为基础零部件在汽车制造、电子设备、家电产品等领域的应用日益广泛。2025年,中国冲压件市场规模预计将突破5000亿元,行业竞争格局呈现专业化、精细化发…

做a免费视频在线观看网站茂名网站制作公司

作者&#xff1a;billy 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 前言 目前能下载到的最新版本是 PyCharm 2021.1。 请注意对应 Python 的版本&#xff1a; Python 2: 2.7Python 3: >3.6, <3.11…

图解C++智能指针的循环引用

欢迎大家访问我的个人主页guts的小屋循环引用是学习智能指针过程中的一个小难点,笔者愚钝,明明知道是两个指针互相引用导致了内存泄漏,但看各种文字资料时,脑子里总是一团浆糊,感觉似懂非懂,于是自己绘制了几张图…

国庆收心指南:用AI提示词工程解决节后综合征

作为程序员,我们习惯用技术思维解决工作中的复杂问题。但面对国庆假期后的"不想上班"、"睡眠紊乱"、"注意力涣散",你有没有想过也可以用结构化的方法来应对?今天分享一个实用的AI工具…

做海鱼的网站网站后期维护怎么做

多维时序 | MATLAB实现CNN-BiGRU-Mutilhead-Attention卷积网络结合双向门控循环单元网络融合多头注意力机制多变量时间序列预测 目录 多维时序 | MATLAB实现CNN-BiGRU-Mutilhead-Attention卷积网络结合双向门控循环单元网络融合多头注意力机制多变量时间序列预测预测效果基本介…

CF1895F Fancy Arrays

题目大意: 设一个长度为 \(n\) 的数组是 “Fancy” 的,当且仅当它满足下面条件。\(|a_{i} - a_{i - 1}| \le k\) 存在 \(i\) 满足 \(x \le a_{i} \le x + k - 1\) \(a_{i} \ge 0\)给定 \(n,k,x\),求 "Fancy&qu…

高档手表网站自己弄一个网站要多少钱

拦截器 1 回顾过滤器&#xff1a; Servlet规范中的三大接口&#xff1a;Servlet接口&#xff0c;Filter接口、Listener接口。 过滤器接口&#xff0c;是Servlet2.3版本以来&#xff0c;定义的一种小型的&#xff0c;可插拔的Web组件&#xff0c;可以用来拦截和处理Servlet容…

文件系统的全局结构

物理格式化后 低级格式化,划分扇区,检测坏扇区,并用备用扇区替换坏掉的扇区 逻辑格式化后 磁盘分区(分卷)完成各部分的文件系统初始化 文件系统在外存🀄️的结构 分为用户区和内核区 近期访问过的目录文件会缓存…

完整教程:记一次idea中lombok无法使用的解决方案

完整教程:记一次idea中lombok无法使用的解决方案2025-10-07 17:02 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; displa…

网站建设培训的心得食品核酸第三方检测机构

杨淼信息与计算机科学 跆拳道国家一级教练员 曾经tricking爱好者3 人赞同了该回答一个不算建议的建议 直接看&#xff0c;看到不懂的就查相应的知识&#xff08;据说牛人都靠wiki活着&#xff09;。 知识当有需求的时候&#xff0c;才会学的更快。 觉得这样做的好处是&#xff…

详细介绍:在机器视觉测量和机器视觉定位中,棋盘格标定如何影响精度

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025.10.7

bot选前两问容易解决,得 \(E:\dfrac{x^2}{6}+\dfrac{y^2}{3}=1\),\(y_p\in(1,3]\) bot指出:第三问是可以直接联立爆算的! 设 \(P(x_0,y_0)\),则 \(MN:x_0x+2y_0y-6=0\),\(P\) 到 \(MN\) 的距离为: \[\dfrac{x_0…

自由型象棋分析程序

可以键盘操作。比如鼠标移到某个位置,按r出来个黑车。空格删掉棋子。还可以自己吃自己,空白吃自己等,我感觉摆残局最方便。 程序很乱。鄙人之前所发贴的拼凑版。再贴部分代码: httpd.py# !/usr/bin/python3 from e…

网站建设数据石家庄建站公司

文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了Icon这种Widget&#xff0c;本章回中将介绍 如何使用字体图标。闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 本章回中介绍的字体图标是指Icon中使用特殊的字体来充当图标&#xff0c;字体图标可以看作…

luogu P1648 看守

题目大意 给定 \(d\) 维坐标的 \(n\) 个点,每个点表示为 \(d\) 个数值,求两点间最大距离 \(d\) 维两点间距离为 \(|x_1-y_1|+|x_2-y_2|+...+|x_d-y_d|\) Sol 我们随便找两个点 \(A\),\(B\) 作为演示: \[dis_{A,B}=|…

题解:P11219 【MX-S4-T3】「yyOI R2」youyou 的序列 II

引理 先手获胜当且仅当先手可以在忽略后手的情况下操作完整个区间,且后手可操作的部分的长度小于等于 \(c1\)。 注:后手可操作的部分指后手能操作的最靠左的点到后手能操作的最靠右的点的距离。 证明 充分性: 在满足…