算法:有效的括号(入栈出栈)

时间复杂度 O(n) 空间复杂度 O(n+∣Σ∣),其中 Σ 表示字符集,本题中字符串只包含 6 种括号

/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function(s) {
    const map = {"(":")","{":"}","[":"]"}
    let arr = []
    // 如果输入的数组为奇数时一定不满足条件
    if(s.split('').length%2!==0){
        return false
    }
    for(let item of s){
        // 如果当前括号为左括号,将右括号压入栈
        if(map[item]){
            arr.push(map[item])
        }else{
            // 如果当前的括号是右括号,则弹出栈尾的括号判断是否等于当前的括号
            // 等于则继续循环,不等于则括号不匹配
            if (arr.pop()!== item) {
                return false;
            }
        }
    }
    return arr.length === 0
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode—2697.字典序最小回文串【简单】

2023每日刷题&#xff08;五十八&#xff09; Leetcode—2697.字典序最小回文串 实现代码 char * makeSmallestPalindrome(char * s){int len strlen(s);int left 0, right len - 1;while(left < len / 2) {if(s[left] > s[right]) {s[left] s[right];} else {s[ri…

记录使用mysql2中createConnection和createPool的区别

文章目录 前言config一、createConnection使用二、createPool总结如有启发&#xff0c;可点赞收藏哟~ 前言 查看mysql2源码可以看到连接数据库有两种方法&#xff0c;一种是createConnection&#xff0c;另一种是createPool。 为啥不只提供一种链接方式呢&#xff1f; 在开发w…

文件搜索项目知识介绍

项目背景SQLite介绍SQLite、驱动包下载SQLite使用SQLite和MySQL区别 JDBC搭配SQLiteJDBC原理-创建连接JDBC原理-关闭连接添加和发送SQLJDBC-事务开启和提交 打包.exe文件线程池线程数量问题 项目背景 需求上&#xff1a;因为Windows的文件搜索工具搜索速度十分的慢&#xff1b…

编程实战:自己编写HTTP服务器(系列6:调用用户功能)

系列入口&#xff1a;编程实战&#xff1a;自己编写HTTP服务器&#xff08;系列1&#xff1a;概述和应答&#xff09;-CSDN博客 本文讲解如何将原有C代码接入到WEB服务里。 目录 一、概述 二、框架入口 三、执行用户功能 3.1 代码 3.2 入口参数 3.3 系统检查和初始化 3…

消息队列kafka详解:Kafka重要知识点+面试题大全

重要面试知识点 Kafka 消费端确保一个 Partition 在一个消费者组内只能被一个消费者消费。这句话改怎么理解呢&#xff1f; 在同一个消费者组内&#xff0c;一个 Partition 只能被一个消费者消费。 在同一个消费者组内&#xff0c;所有消费者组合起来必定可以消费一个 Topic 下…

【flutter对抗】blutter使用+ACTF习题

最新的能很好反编译flutter程序的项目 1、安装 git clone https://github.com/worawit/blutter --depth1​ 然后我直接将对应的两个压缩包下载下来&#xff08;通过浏览器手动下载&#xff09; 不再通过python的代码来下载&#xff0c;之前一直卡在这个地方。 如果读者可以…

npm安装

node 设置配置之后&#xff0c;要查询时&#xff0c;会从.npmrc中读取路径 .npmrc自己创建的&#xff08;默认情况下.npmrc会创建在C盘中&#xff09; 自己创建的在D:\studay-and-working\node16.14\node_modules\npm中 指定.npmrc文件&#xff0c;因为默认会访问C盘的.npmrc文…

在Windows系统和Linux系统中MongoDB的安装方法

本文主要介绍在Windows系统和Linux系统中MongoDB的安装方法。 目录 Windows系统中安装MongoDBLinux系统中安装MongoDB Windows系统中安装MongoDB 在Windows系统中安装MongoDB&#xff0c;可以分为以下几个步骤&#xff1a; 下载MongoDB安装包 在MongoDB官网上下载Windows系统下…

【Linux学习】深入理解动态库与静态库

目录 十三.动态库与静态库 13.1 认识动静态库 13.2 深入理解动静态库 什么是库? 编译链接过程 动静态库的基本原理 13.3 静态库 静态库的打包: 静态库的使用: 13.4 动态库 动态库的打包: 动态库的使用: 13.5 动态库与静态库怎么选? 十三.动态库与静态库 13.1 认识动静态库 …

Vue 中 v-model 的修饰符

lazy 修饰符&#xff1a;将 v-model 改为失去焦点后更新数据。 number 修饰符&#xff1a;将 v-model 数据转为数字类型。 trim 修饰符&#xff1a;去除 v-model 数据中的首尾空格。 语法格式&#xff1a; // lazy 修饰符 <input v-model.lazy"数据"> // nu…

ArcGIS pro与SuperMap根据属性自动填充颜色步骤

GIS项目经常会接触到控规CAD数据&#xff0c;想要把数据转换成GIS图层并发布&#xff0c;需要进行专题配图。研究了一下ArcGIS pro和SuperMap iDesktop的配图&#xff0c;整理一下用到的一些技术思路。 1、Excel表格根据RGB值添加单元格填充颜色 要实现如上效果图&#xff0c;…

AI创新之美:AIGC探讨2024年春晚吉祥物龙辰辰的AI绘画之独特观点

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏:《粉丝福利》 《linux深造日志》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 文章目录 引言一、龙辰辰事件概述二、为什么龙辰辰会被质疑AI创作&#xff1f;1.1 AI 作画的特点2.2 关于建行的合作宣传图…

如何利用宝塔面板和docker快速部署网站

当你有了一台服务器&#xff0c;就会折腾往这台服务器上部署各种好玩的网站。市面上有许多开源的网站项目&#xff0c;通过docker技术可以快速部署并使用&#xff0c;本文将以部署filebrowser举例介绍网站部署的基本流程。 1. 安装宝塔面板 宝塔面板是一款开源的网站运维工具…

博客内容和多种搜索友好格式在 2024 年的作用

内容和SEO之间一直存在着密切的联系。 今天&#xff0c;我想分享一些关于博客、内容和搜索友好格式的想法和技巧。此外&#xff0c;我将分享有关生成式人工智能如何为这种关系添加新元素的见解。 谷歌最近关于有用和有价值的内容的更新重新引发了关于如何找到内容以及内容排名…

汽车销售技巧培训应该学习哪些内容

汽车销售技巧培训应该学习哪些内容 随着汽车市场的竞争日益激烈&#xff0c;汽车销售技巧培训对于提高销售人员的销售能力和服务水平至关重要。本文将介绍汽车销售技巧培训应该学习哪些内容&#xff0c;并结合案例进行分析。 一、产品知识 作为销售人员&#xff0c;了解所销售…

用户管理第2节课 -- idea 2023.2 创建表

一、懂得 1.1编码格式是防止乱码的&#xff0c;utf-8是完全够的&#xff0c;那几个基本没差别 网址&#xff1a; 【IDEA——连接MySQL数据库&#xff0c;创建库和表】_idea中数据库-CSDN博客 这些是MySQL数据库中的一些术语&#xff0c;可以简单解释如下&#xff1a; 1、col…

【日积月累】Spring中的AOP与IOC相关问题详解

Spring中的AOP与IOC 1.前言2.Spring AOP&#xff08;面向切面编程&#xff09;2.1 AOP的实现过程2.2 AOP代理模式的类型2.2.1JDK的动态代理2.2.2CGLIB的动态代理 2.3AOP应用常见场景2.3.1日志记录 2.4对AOP的理解 3.Spring IOC&#xff08;Inversion of Control&#xff0c;控…

低代码平台解密:探秘MQTT协议的应用之道

本文由葡萄城技术团队发布。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 低代码平台作为当今快速发展的技术之一&#xff0c;为开发人员提供了更高效、更简便的工具和方法&#xff0c;以…

深度解读 Cascades 查询优化器

数据库中查询优化器是数据库的核心组件&#xff0c;其决定着 SQL 查询的性能。Cascades 优化器是 Goetz 在 volcano optimizer generator 的基础上优化之后诞生的一个搜索框架。 本期技术贴将带大家了解 Cascades 查询优化器。首先介绍 SQL 查询优化器&#xff0c;接着分析查询…

【玩转TableAgent数据智能分析】TableAgent全功能详解及多领域数据分析实践(下)数据分析过程及总结展望

6 TableAgent的数据分析过程解析 TableAgent的整个分析过程包括以下步骤&#xff0c;形成一个有机结构&#xff0c;让我们理清其工作原理。 6.1 Data Graph阶段 TableAgent首先绘制数据图&#xff0c;以解决问题。这个图形表示了问题的分解和细化&#xff0c;将大问题分解成…