力扣921. 使括号有效的最少添加

Problem: 921. 使括号有效的最少添加

文章目录

  • 题目描述
  • 思路及解法
  • 复杂度
  • Code

题目描述

在这里插入图片描述在这里插入图片描述

思路及解法

1.定义int变量res、need分别记录需要插入的左括号数和所需与左括号配对的右括号数

2.遍历字符串:

2.1.若当为左括号,则need++,表示需要一个右括号与当前左括号配对
2.2.若当前为右括号,则need–,表示已经有一个右括号与左括号配对

2.2.1.若发现当前need == -1则表示需要插入一个左括号即res++

3.返回最后需要插入的左括号数和需要和当前左括号配对的右括号数即res + need

复杂度

时间复杂度:

O ( n ) O(n) O(n);其中 n n n为给定字符串的长度

空间复杂度:

O ( 1 ) O(1) O(1)

Code

class Solution {/*** Minimum Add to Make Parentheses Valid** @param s Given string* @return int*/public int minAddToMakeValid(String s) {// Record the number of left bracket insertion requirementsint res = 0;int need = 0;for (int i = 0; i < s.length(); ++i) {if (s.charAt(i) == '(') {// Add one to the required number of right parenthesesneed++;}if (s.charAt(i) == ')') {// Add one to the required number of left parenthesesneed--;if (need == -1) {need = 0;//Subtract one to the required number of right parenthesesres++;}}}return need + res;}
}

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

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

相关文章

eslint版本9.0之后配置方法

在eslint9.0之后&#xff0c;迎来版本大更新。首先是抛弃了自带的规则&#xff08;没了我喜欢的git standard风格&#xff09;&#xff0c;其次是配置又更新了&#xff0c;改动有点大&#xff0c;重新捋了一遍之后&#xff0c;附上最新的eslint配置过程。 初始化命令 此次试验…

[word] 如何在word中插入地图? #学习方法#其他

如何在word中插入地图&#xff1f; 人事部门在给即将入职的新员工发送入职资料时&#xff0c;为了方便新员工能快速找到公司的具体位置&#xff0c;一般都会在word资料中插入公司所在位置的地图。今天&#xff0c;小编就分享一个在word中插入地图的方法。 第一步&#xff1a;…

企智汇软件:专业项目管理系统,一体化PaaS平台!快速落地项目!

在快速变化的市场环境中&#xff0c;项目管理不再是简单的任务分配和时间跟踪&#xff0c;它更是一门需要精准决策、高效沟通和智能协作的管理工具。然而&#xff0c;面对日益复杂的项目需求、跨部门的协作挑战以及海量的信息数据&#xff0c;传统的项目管理方式往往显得力不从…

HTML/CSS 基础

1、<input type"checkbox" checked> checked 默认选中为复选框 2、表格中的标题<caption> 3、文字标签直接加 title 4、<dl>为自定义列表的整体&#xff0c;包裹<dt><dd> <dt>自定义列表的主题 <dd>主题的每一项内容 5、…

数值分析笔记(三)函数逼近

最佳平方逼近 函数逼近是使用一种简单易算的函数来近似表示一个复杂函数。 该问题可转化为求解线性方程组 G n C F n ​ G_{n}CF_{n}​ Gn​CFn​​ 其中&#xff0c;系数 C ( c 0 , c 1 , ⋯ , c n ) T , F n ( ( f , φ 0 ) , ( f , φ 1 ) , ⋯ , ( f , φ n ) ) T C(c…

【Java】解决Java报错:IllegalMonitorStateException in Synchronization

文章目录 引言一、IllegalMonitorStateException的定义与概述1. 什么是IllegalMonitorStateException&#xff1f;2. IllegalMonitorStateException的常见触发场景3. 示例代码 二、解决方案1. 确保在同步代码块或方法中调用wait()、notify()和notifyAll()2. 使用同步方法3. 使用…

Linux系统学习——指令三

Linux系统学习——指令三 Linux系统学习——指令三chmod — 文件执行权限添加文件执行权限去除文件执行权限 查找文件中特定关键字使用vi编辑文件并查找特定关键字文本文件查找特定关键字1: 使用 grep 命令2: 使用 find 命令3: 使用 awk 命令4: 使用 sed 命令5: 使用 ag 命令&a…

非强化学习的对齐方法

在文章《LLM对齐“3H原则”》和《深入理解RLHF技术》中&#xff0c;我们介绍了大语言模型与人类对齐的“3H原则”&#xff0c;以及基于人类反馈的强化学习方法&#xff08;RLHF&#xff09;&#xff0c;本文将继续介绍另外一种非强化学习的对齐方法&#xff1a;直接偏好优化&am…

Vulnhub靶场DC-4练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 爆破登录2. 命令执行3. 反弹shell4. hydra爆破ssh5. 提权 0x04 总结 0x00 准备 下载链接&#xff1a;https://download.vulnhub.com/dc/DC-4.zip 介绍&#xff1a; DC-4 is another purposely built …

linux桌面运维----第五天

1、创建用户命令useradd&#xff1a; 作用&#xff1a;创建用户 ​语法&#xff1a;useradd [选项名] 用户名 ​选项&#xff1a; -d<登入目录> 指定用户登入时的起始目录。 【掌握】 -g<群组> 指定用户所属的群组&#xff08;基本组&#xff09;。【掌握】…

交通信号灯控制系统的设计(仿真,汇编语言实现)——微机课设

计算机科学与技术 专业课程设计任务书 学生姓名 专业班级 学号 题 目 交通信号灯控制系统的设计 课题性质 A.工程设计 课题来源 自拟课题 指导教师 同组姓名 主要内容 初始状态用K1键控制&#xff0c;为两个黄灯闪烁&#xff1b; K2键控制红、黄、绿灯接…

Diffusion Mamba:用于CT到MRI转换的Mamba扩散模型

Diffusion Mamba&#xff1a;用于CT到MRI转换的Mamba扩散模型 提出背景拆解左侧&#xff1a;整体框架中间&#xff1a;Mamba块的细节右侧&#xff1a;螺旋扫描的细节 提出背景 论文&#xff1a;https://arxiv.org/pdf/2406.15910 代码&#xff1a;https://github.com/wongzbb…

意图理解与态势感知

意图理解和态势感知是现代智能系统中两个关键的概念&#xff0c;尤其在复杂和动态的环境中。这两个概念在多个领域有广泛应用&#xff0c;如军事、自动驾驶、智能家居、工业自动化等。以下是对这两个概念的详细解释及其关联。 意图理解指的是系统能够准确识别和理解用户或环境中…

使用 python asyncio的一个例子,以及在jupyter lab中使用时的一个常识

1 asyncio的优势 asyncio 和 threading 都是 Python 中处理并发的方式&#xff0c;但它们各有优势。 效率&#xff1a;asyncio 是基于单线程的&#xff0c;它通过协程&#xff08;coroutine&#xff09;实现并发&#xff0c;协程之间的切换开销小于线程之间的切换开销。在 I/O…

MySQL中怎么查询LONGBLOB类型数据的大小

在MySQL中&#xff0c;LONGBLOB 是一种二进制大对象&#xff08;BLOB&#xff09;数据类型&#xff0c;用于存储大量的二进制数据。但是&#xff0c;LONGBLOB 数据类型本身并不直接存储数据的大小&#xff08;长度&#xff09;。它存储的是二进制数据的实际内容。 1.查询 LONG…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(十七)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 27节&#xff09; P27《26.Stage模型-UIAbility的启动模式》 本节讲解 UIAbility的启动模式&#xff1a;Stage模型的应用&#x…

策略模式-通过枚举newInstance替代工厂

策略模式-使用枚举newInstance 前言一、枚举类&#xff1a;MarkCheckDataTypeEnum二、抽象类&#xff1a;AbstractMarkChecker三、检查类&#xff1a;MarkPeopleChecker四、demo演示总结 前言 很久没写文章了~~ 吐槽下&#xff1a;入职新公司后&#xff0c;基本在搬砖&#xf…

这几个PR小技巧你Get到了吗?

学习是永无止境的&#xff0c;需要不间断地学习&#xff0c;获取新知识。今天带来了5个PR小技巧&#xff0c;可以先收藏起来Adobe Premiere Pro 2024的获取查看Baidu Cloud 1、双倍稳定画面更舒适 一般来说大型电视剧、电影使用的拍摄设备都是非常高端的&#xff0c;不像我们…

【研究】国内外大模型公司进展

2022年11月&#xff0c;OpenAI推出基于GPT-3.5的ChatGPT后&#xff0c;引发全球AI大模型技术开发与投资热潮。AI大模型性能持续快速提升。以衡量LLM的常用评测标准MMLU为例&#xff0c;2021年底全球最先进大模型的MMLU 5-shot得分刚达到60%&#xff0c;2022年底超过70%&#xf…

面相对象程序设计

面相对象程序设计包含内容如下 局域网聊天程序设网页浏览器设计电子日历记事本的设计 以其中的一个的报告进行举例 1需求与总体设计 1 1.1需求分析 1 1.2总体设计方案 1 1.2&#xff0e;1系统功能分析以及功能表 1 1.3系统类图的关系以及表之间的联系 2 2详细设计 3 2.1 Manag…