代码随想录day11

20. 有效的括号

● 力扣题目链接
● 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。
● 有效字符串需满足:
● 左括号必须用相同类型的右括号闭合。
● 左括号必须以正确的顺序闭合。
● 注意空字符串可被认为是有效字符串。

思路

● 使用栈即可,前括号就入栈对应的后括号
● 如果不是前括号,看栈是否空"{}}“,然后看栈顶元素能否匹配”{]“,不能返回false,能就弹出
● 循环结束看栈是否为空”("
● 时间复杂度O(n) 空间复杂度O(n)

代码

class Solution {public boolean isValid(String s) {Deque<Character> stack = new ArrayDeque();for (int i = 0; i < s.length(); i++) {Character c = s.charAt(i);if (c.equals('(')) {stack.addFirst(')');} else if (c.equals('[')) {stack.addFirst(']');} else if (c.equals('{')) {stack.addFirst('}');} else if (stack.isEmpty() || !stack.peekFirst().equals(c)) {return false;} else {stack.removeFirst();}}return stack.isEmpty();}
}

1047. 删除字符串中的所有相邻重复项

● 力扣题目链接
● 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。
● 在 S 上反复执行重复项删除操作,直到无法继续删除。
● 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

思路

● 使用栈,遍历字符串,如果栈空或元素不相等,就入栈,否则出栈
● 最后遍历栈元素,从尾部弹出,返回字符串即可

代码

class Solution {public String removeDuplicates(String s) {Deque<Character> stack = new ArrayDeque();for (int i = 0; i < s.length(); i++) {if (stack.isEmpty() || stack.peek() != s.charAt(i)) {stack.addFirst(s.charAt(i));} else {stack.removeFirst();}}StringBuilder builder = new StringBuilder();while (!stack.isEmpty()) {builder.append(stack.removeLast());}return new String(builder);}
}

150. 逆波兰表达式求值

● 力扣题目链接
● 根据 逆波兰表示法,求表达式的值。
● 有效的运算符包括 + , - , * , / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。
● 说明:
● 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。

思路

● 使用栈处理即可,根据不同的情况入栈出栈

代码

class Solution {public int evalRPN(String[] tokens) {Deque<Integer> stack = new ArrayDeque();for (String str : tokens) {if (str.equals("+")) {stack.addFirst(stack.removeFirst() + stack.removeFirst());} else if (str.equals("-")) {int temp = stack.removeFirst();stack.addFirst(stack.removeFirst() - temp);} else if (str.equals("*")) {stack.addFirst(stack.removeFirst() * stack.removeFirst());} else if (str.equals("/")) {int temp = stack.removeFirst();stack.addFirst(stack.removeFirst() / temp);} else {stack.addFirst(Integer.parseInt(str));}}return stack.peekFirst();}
}

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

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

相关文章

SAP ABAPG开发屏幕自动生成日期的搜索帮助

代码如下&#xff1a; REPORT z_jason_test_f4 . TABLES: s031. PARAMETER p_spmon TYPE spmon DEFAULT sy-datum0(6) OBLIGATORY. SELECT-OPTIONS s_spmon FOR s031-spmon DEFAULT sy-datum0(6) OBLIGATORY. AT SELECTION-SCREEN ON VALUE-REQUEST…

机器学习使用场景

在计算机系统中&#xff0c;“经验”通常以“数据”的形式存在。因此&#xff0c;机器学习的主要内容&#xff0c;是关于在计算机上从数据中产生Function的算法&#xff0c;这个Function的作用是将将输入映射成合理的输出。例如给Function输入猫的图片&#xff0c;Function能够…

Python面向对象植物大战僵尸

先来一波效果图 来看看如何设计游戏架构 import sysimport pygameclass BaseSprite(pygame.sprite.Sprite):def __init__(self, name):super().__init__()self.image pygame.image.load(name)self.rect self.image.get_rect()class AnimateSprite(BaseSprite):def __init__(…

C++信息学奥赛1131:基因相关性

这段代码的功能是比较两个字符串的相似度&#xff0c;并根据给定的阈值判断是否相似。 解析注释后的代码如下&#xff1a; #include <iostream> #include <string> using namespace std;int main() {double bf; // 定义双精度浮点数变量bf&#xff0c;用于存储阈…

机器学习深度学习——NLP实战(自然语言推断——数据集)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——NLP实战&#xff08;情感分析模型——textCNN实现&#xff09; &#x1f4da;订阅专栏&#xff1a;机器…

MAC钓鱼并Root权限上线CS并权限维持,以及所有的坑如何解决

本文转载于&#xff1a;https://www.freebuf.com/articles/web/350592.html 作者&#xff1a;文鸯涂鸦智能安全实验室 制作MAC 一、下载工具 首先从github上下载CrossC2。链接&#xff1a;https://github.com/gloxec/CrossC2/releases/tag/v3.1.0。 根据你CS客户端的操作系统选…

python 打印沁园春 雪 居中对齐 文本对齐

以下是python 中使用 DebugInfo 模块居中对齐打印《沁园春・雪》的效果 引入模块 pip install DebugInfopython代码 # -*- coding:UTF-8 -*-# region 引入必要依赖 from DebugInfo.DebugInfo import * # endregion诗文 沁园春 雪 作者: 毛主席 北国风光&#xff0c;千里冰封…

A Survey on Model Compression for Large Language Models

本文是LLM系列文章&#xff0c;关于模型压缩相关综述&#xff0c;针对《A Survey on Model Compression for Large Language Models》的翻译。 大模型的模型压缩综述 摘要1 引言2 方法3 度量和基准3.1 度量3.2 基准 4 挑战和未来方向5 结论 摘要 大型语言模型&#xff08;LLM…

Swagger2 使用

大家好 , 我是苏麟 , 今天带来Swagger的使用 . 官方文档 : 招摇文档 (swagger.io) 访问地址 : 在路径后加上doc.html 例如: http://localhost:8000/doc.html Swagger 使用 依赖 <!--Swagger依赖 核心--><dependency><groupId>io.springfox</groupId&g…

smartsofthelp 5.0 最专业的数据库优化工具,数据库配置优化,数据库高并发优化,SQL 语句优化...

下载地址:百度网盘 请输入提取码 SQL操作返回历史记录&#xff1a; 2023-08-21 20:42:08:220 输入&#xff1a;select version as 版本号 2023-08-21 20:42:08:223 输出&#xff1a;当前数据库实例版本号&#xff1a;Microsoft SQL Server 2012 - 11.0.2100.60 (X64) …

TheGem主题 - 创意多用途和高性能WooCommerce WordPress主题/网站

TheGem主题概述 – 适合所有人的TheGem 作为设计元素、样式和功能的终极 Web 构建工具箱而设计和开发&#xff0c;TheGem主题将帮助您在几分钟内构建一个令人印象深刻的高性能网站&#xff0c;而无需触及一行代码。不要在编码上浪费时间&#xff0c;探索你的创造力&#xff01…

docker优点简介和yum方式安装

一.docker简介 二.docker的优点 1.交付和部署速度快 2.高效虚拟化 3.迁移性和扩展性强 4.管理简单 三.docker的基本概念 1.镜像 2.容器 3.仓库 四.docker的安装部署 &#xff08;1&#xff09;点击容器 ​&#xff08;2&#xff09;选择docker-ce&#xff0c;根据相…

关于uniapp组件的坑

关于uniapp组件的坑 我有一个组件写的没什么问题,但是报下面这个错误 is not found in path “components/xxx/xxxx” (using by “components/yyy/yyy”) 最后经过排除发现命名需要驼峰命名法 我原本组件命名: 文件夹名 test_tttt 文件名 test_tttt.vue 不行 最后改成文件…

学习php中如何获取pdf文件中的文本内容

学习php中如何获取pdf文件中的文本内容 要使用PHP获取PDF文件中的文本内容&#xff0c;可以使用PDF解析库。以下是一些流行的PDF解析库&#xff1a; pdftotext&#xff1a;它是一个命令行工具&#xff0c;可以将PDF文件转换为文本文件。可以使用PHP exec()函数运行该工具。 FP…

【LVS】4、HAProxy搭建web集群

目前常见的Web集群调度器分为软件和硬件 软件通常使用开源的LVS、Haproxy、Nginx LVS性能最好&#xff08;基于内核转发&#xff09;&#xff0c;但是搭建相对复杂&#xff1b;Nginx的upstream模块支持群集功能&#xff0c;但是对群集节点健康检查功能不强&#xff0c;高并发性…

C# OpenCvSharp DNN 二维码增强 超分辨率

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp; using OpenCvSharp.Dnn; using OpenCvSh…

eNSP综合小实验:VRRP、MSTP、Eth-Trunk、NAT、DHCP等技术应用

完成下图要求&#xff1a; 拓扑图&#xff1a; 配置命令&#xff1a; 由于交换机日志太多不便于复制&#xff0c;所以就复制命令。大概步骤如下&#xff1a; 第一步先分配IP地址&#xff0c;在sw1和sw2上创建VLAN100用于e0/0/3口配IP&#xff0c;在sw1、sw2、sw3、sw4上创建VL…

ABAP 定义复杂的数据结构

最近有个需求是实现ABAP数据类型与JASON类型的转换。想要创建个ABAP的数据类型来接JASON类型是个挺麻烦的事。例如下面这个JASON数据&#xff0c;是个很简单的数据结构。但对ABAP来说有4层了&#xff0c;就有点复杂了。 不过ABAP的数据类型也是支持直接定义数据结构的嵌套的。如…

SpringBoot整合MongoDB(从安装到使用系统化展示)

SpringBoot整合MongoDB&#xff08;从安装到使用系统化展示&#xff09; MongoDB介绍 基础介绍 MongoDB是一种开源、面向文档的非关系型数据库管理系统&#xff08;NoSQL DBMS&#xff09;&#xff0c;它以其灵活性、可扩展性和强大的查询能力而闻名。MongoDB的设计理念是为了…

二、1.保护模式

访问外部硬件有两个方式&#xff1a; 将某个外设的内存映射到一定范围的地址空间中&#xff0c; CPU 通过地址总线访问该内存区域时会落到外设 的内存中&#xff0c;这种映射让 CPU 访问外设的内存就如同访问主板上的物理内存一样外设是通过 IO 接口与 CPU 通信的&#xff0c;…