力扣20 有效的括号

给定一个只包括 '('')''{''}''['']' 的字符串 s ,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"
输出:true

示例 2:

输入:s = "()[]{}"
输出:true

示例 3:

输入:s = "(]"
输出:false
/**
 * @param {string} s
 * @return {boolean}
 */
var isValid = function (s) {
  if (s.length == 0 || s.length % 2 == 1) return false;
  let map = new Map();
  map.set(")", "(");
  map.set("}", "{");
  map.set("]", "[");
  let stack = new Array();
  for (let i = 0; i < s.length; i++) {
    let top_index = stack.length - 1;
    let top = stack[top_index] ? stack[top_index] : -1;
    if (top == map.get(s[i])) {
      stack.pop();
    } else {
      stack.push(s[i]);
    }
  }
  return stack.length ? false : true;
};

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

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

相关文章

Linux线程:线程分离

目录 一、什么是线程分离 1.1pthread_detach 1.2pthread线程库存在的意义 1.3__thread线程的局部存储 1.4系统调用clone 一、什么是线程分离 1.1pthread_detach 默认情况下&#xff0c;新创建的线程是joinable的&#xff0c;线程退出后&#xff0c;需要对其进行pthread_joi…

视频SK配置教程

视频SK配置教程 提供的pika接口服务&#xff08;国外的&#xff0c;所以要反代&#xff09;&#xff0c;创建一个pika账号并开通pika套餐 反向配置教程 https://blog.csdn.net/u012241616/article/details/139391954?spm1001.2014.3001.5502 1、进入站点后台->功能->…

ubuntu使用

使用ubuntu 安装ubuntu ubuntu的镜像 : http://mirrors.aliyun.com/ubuntu-releases/ 进入 vmware https://www.vmware.com/products/workstation-player/workstation-player-evaluation.html 点击 创建 浏览 找到 系统镜像文件, 我把它放在了 vmware文件下 设置好信息 , 记…

【GIS系列】挑战千万级数据:Java和Elasticsearch在GIS中的叠加分析实践

作者&#xff1a;后端小肥肠 创作不易&#xff0c;未经允许严禁转载。 目录 1. 前言 2. 叠加分析场景方案对比 2.1. Geotools 2.2. PostGIS 2.3. Elasticsearch 3. 基于ElastcSearch实现叠加分析代码实践 3.1. 开发环境搭建 3.1.1. 所需版本和工具 3.1.2. pom依赖 3.…

基于数据驱动的自适应性小波构造(MATLAB)

以地震领域为例&#xff0c;时频变换能够刻画地震资料的时频特征&#xff0c;进而辅助地质构造解释。在各种时频分析工具中&#xff0c;连续小波变换CWT是描述地震资料时频特征的常用工具。选择合适的基小波是CWT的关键问题。对于不同类型的信号前人有针对性的设计了许多基小波…

Virtualbox中对SD卡进行格式化和分区

系统&#xff1a;Ubuntu 22.04.4 LTS 方法一&#xff1a;在虚拟机的ubuntu系统中使用fdisk命令方式分区&#xff0c;具体请参考&#xff1a; imx6ull - 制作烧录SD卡-CSDN博客 方法二&#xff1a;使用Ubuntu自带GUI工具Disks Disks相比命令行工具更加简单无脑&#xff0c;用…

esp8266刷micropython固件

硬件&#xff1a;ESP-01 1M FLASH 乐鑫官方刷写工具&#xff1a;https://www.espressif.com.cn/sites/default/files/tools/flash_download_tool_3.9.6_2.zip 最新micropython固件: flash<512:https://micropython.org/resources/firmware/ESP8266_GENERIC-FLASH_512K-20…

【智能制造1005】智能制造试点企业名单及工具变量数据,助力深入研究!

今天给大家分享的是国内顶级期刊金融研究2022年发表的论文《智能制造赋能企业创新了吗&#xff1f;——基于中国智能制造试点项目的准自然实验》使用到的重要数据集——智能制造试点企业名单以及该政策对应的工具变量数据。该论文以中国智能制造示范项目的推广为准自然实验&…

C语言基础:字符函数和字符串函数

重点介绍处理字符和字符串的库函数的使用和注意事项 求字符串长度&#xff08;strlen&#xff09;长度不受限制的字符串函数(strcpy strcat strcmp)长度受限制的字符串函数介绍(strncpy strncat strncmp)字符串查找(strstr strtok)错误信息报告(strerror) C语言中对字…

路由策略实验1

先把地址全部配通 对R1 对R2 对R4 对R3 对R5 对R6 对R7 然后起路由协议 对R1 对R2 对R3 对R4 对R5 对R6 对R7

Ubuntu——配置安装服务

目录 一、安装JDK 二、安装IntelliJ IDEA 三、安装Docker-ce 1.环境清理以免有遗留组件 2.安装Docker 3.测试 #检查版本 sudo cat /etc/issue 一、安装JDK Ubuntu提供了一个名为apt的软件包管理工具&#xff0c;通过它可以使用命令行的方式安装、更新和删除软件包。 使用…

C++ : 模板初阶

标题&#xff1a;C : 模板初阶 水墨不写bug 正文开始&#xff1a; C语言的问题 &#xff1a; 写不完的swap函数 在学习C语言时&#xff0c;我们有一个经常使用的函数swap函数&#xff0c;它可以将两个对象的值交换。 我们通常这样实现它&#xff1a; void swap(int t1,int t…

2024年西安交通大学程序设计竞赛校赛

2024年西安交通大学程序设计竞赛校赛 文章目录 2024年西安交通大学程序设计竞赛校赛D瑟莉姆的宴会E: 雪中楼I: 命令行(待补)J&#xff1a;最后一块石头的重量(待补)K: 崩坏&#xff1a;星穹铁道(待补)M&#xff1a;生命游戏N: 圣诞树 D瑟莉姆的宴会 解题思路&#xff1a; ​ …

基于Android Studio 实现的鲜花(购物)商城App--原创

一、高质量源码&#xff08;非开源&#xff09; 关注公众号&#xff1a;《编程乐学》 后台回复&#xff1a;24060201 二、项目演示视频 基于Android Studio 实现的鲜花商城App--原创 三、开发环境 四、设计与实现 1.启动页 启动页我们需要用到倒计时和跳转功能。 2.注册登录 …

Vue中引入elementUI中的container组件失效

1.不用修改官网中任何css或者html 2.按需引入&#xff0c;不是只是引入官网的就可以 import Vue from vue import Router from vue-router import HelloWorld from /components/HelloWorld import First from /components/views/First import Second from /components/views/…

多元联合分布建模 Copula python实例

多元联合分布建模 Copula python实例 目录 库安装 实例可视化代码 库安装 pip install copulas 实例可视化代码 import numpy as np import pandas as pd from copulas.multivariate import GaussianMultivariate# Generate some example data np.random.seed(42) data = …

反向配置教程

注意&#xff0c;Openai、Gemini、claude和pika接口在国内直连不通&#xff0c;都需要配置反向 一、配置openai反向 1、在海外宝塔添加反向 将海外宝塔升级到最新 在海外宝塔添加一个新站点&#xff08;可以解析一个域名来用&#xff0c;也可以用ip端口形式&#xff09; 打开…

大模型应用:Prompt-Engineering优化原则

1.Prompt-Engineering 随着大模型的出现及应用&#xff0c;出现了一门新兴“技术”&#xff0c;该技术被称为Prompt-Enginerring。Prompt Engineering即提示工程&#xff0c;是指在使用大语言模型时&#xff0c;编写高效、准确的Prompt(提示词)的过程。通过不同的表述、细节和…

安全风险 - 组件导出风险

在安全审查中关于组件导出风险是一种常见问题&#xff0c;不同组件都有可能遇到这种问题&#xff0c;而且从一定角度来看的话&#xff0c;如果涉及到三方业务&#xff0c;基本处于无法解决的场景&#xff0c;所以我们需要说明为何无法避免这种风险 组件导出风险能不能规避&…

设计模式(十)结构型模式---享元模式

文章目录 享元模式简介结构UML图具体实现UML图代码实现 享元模式简介 享元模式&#xff08;fly weight pattern&#xff09;主要是通过共享对象来减少系统中对象的数量&#xff0c;其本质就是缓存共享对象&#xff0c;降低内存消耗。享元模式将需要重复使用的对象分为两个状态…