【Hot100】LeetCode—32. 最长有效括号
目录
- 1- 思路
- 题目识别
- 动态规划
- 2- 实现
- ⭐32. 最长有效括号——题解思路
- 3- ACM 实现
- 原题链接:32. 最长有效括号
1- 思路
题目识别
- 识别1 :给定一个字符串
s,求解s中的最长有效括号
动态规划
动态规划五部曲
- 递推公式难
- 如果遇到了
s.charAt(i) == ')'开始递推 - 先求解
preIndex = i - dp[i-1] - 1- 保证
preIndex >= 0 && s.charAt(preIndex) == '(' dp[i] = 2 + dp[i-1];if(preIndex -1 >= 0) { dp[i] += dp[preIndex-1];}
- 保证
2- 实现
⭐32. 最长有效括号——题解思路

class Solution {public int longestValidParentheses(String s) {int len = s.length();if(len==0){return 0;}int res = 0;// 定义 dp数组// 有效括号长度int[] dp = new int[len];// 递推// preIndex = i - dp[i-1] -1;// if(preIndex >= 0 && s.charAt(preIndex == '('))// dp[i] = 2+dp[i-1];// if(preIndex - 1 >= 0 ) dp[i]+=dp[preIndex-1];// 3.初始化// 4.遍历for(int i = 1 ; i < len ; i++){if(s.charAt(i) == ')'){int pre = i - dp[i-1]-1;if(pre>=0 && s.charAt(pre)=='('){dp[i] = 2 + dp[i-1];if(pre - 1 >=0 ){dp[i] += dp[pre-1];}}}res = Math.max(res,dp[i]);}return res;}
}
3- ACM 实现
import java.util.Scanner;public class longestKH {public static int longestS(String str){int len = str.length();// 定义dpint[] dp = new int[len];int res = 0;// 递推// 当前为右括号// 求解 pre = i - dp[i-1] -1;// 如果 pre>=0 && s.charAt(pre) == '(' {dp[i] = 2 + dp[i-1];}// 3. 初始化// 4.遍历for(int i = 1 ; i < len;i++){if(str.charAt(i) == ')'){int preIndex = i - dp[i-1] - 1;if(preIndex>=0 && str.charAt(preIndex) == '('){dp[i] = 2 + dp[i-1];if(preIndex-1>=0){dp[i] += dp[preIndex-1];}}res = Math.max(res,dp[i]);}}return res;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();System.out.println("结果是"+longestS(input));}
}相关文章:
【Hot100】LeetCode—32. 最长有效括号
目录 1- 思路题目识别动态规划 2- 实现⭐32. 最长有效括号——题解思路 3- ACM 实现 原题链接:32. 最长有效括号 1- 思路 题目识别 识别1 :给定一个字符串 s ,求解 s 中的最长有效括号 动态规划 动态规划五部曲 递推公式难如果遇到了 s.…...
力扣198-打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的…...
Python 入门教程(4)数据类型 | 4.1、数据类型
文章目录 一、数据类型1、弱类型与强类型2、变量没有类型,数据有类型3、不可变类型和可变类型 前言: Python 是一种高级编程语言,以其简洁的语法、丰富的内置库和动态类型系统而闻名。在 Python 中,数据类型是编程的基础ÿ…...
如何进行DAP-seq的数据挖掘,筛选验证位点
从样本准备到寄送公司,每一天都在“祈祷”有个心仪的分析结果,终于在这天随着邮件提示音的响起,收到了分析结果...... 分析前工作 爱基在进行数据分析之前,会有两次质控报告反馈给老师们。第一个,基因组DNA的提取质控…...
学习大数据DAY56 业务理解和第一次接入
作业1 1 了解行业名词 ERP CRM OA MES WMS RPA SAAS 了解每个系统的功能和应用 ERP 系统,(Enterprise Resource Planning,企业资源计划系统):ERP 系统 是一种用于管理企业各类资源的软件系统,包括生产管理…...
java线程池编程示例
程序功能 这段代码展示了如何使用 Java 线程池 来并发执行多个任务。通过创建一个固定大小为 3 的线程池,程序提交了 5 个任务,并让线程池中的线程并发处理这些任务。每个任务模拟了一个耗时操作,最后程序等待所有任务完成后关闭线程池。 …...
02 基于STM32的按键控制继电器驱动电机
本专栏所有源资料都免费获取,没有任何隐形消费。 注意事项:STM32仿真会存在各种各样BUG,且尽量按照同样仿真版本使用。本专栏所有的仿真都采用PROTEUS8.15。 本文已经配置好STM32F103C8T6系列,在PROTUES仿真里,32单片…...
网页本地存储
网页本地存储 <html> <script>//添加数据function add(){var text;textdocument.getElementById(text).value;indexlocalStorage.length1;localStorage.setItem(index,text);}//显示localStorage所有内容function showall(){storagelocalStorage;var length stor…...
SpringBoot2:web开发常用功能实现及原理解析-@ControllerAdvice实现全局异常统一处理
文章目录 前言1、工程包结构2、POM依赖3、Java代码 前言 本篇主要针对前后端分离的项目,做的一个统一响应包装、统一异常捕获处理。 在Spring里,我们可以使用ControllerAdvice来声明一些关于controller的全局性的东西,其用法主要有以下三点…...
DockerLinux安装DockerDocker基础
Linux软件安装 yum命令安装 通过yum命令安装软件,是直接把软件安装到Linux系统中 安装和卸载都比较麻烦,因为软件和系统是强关联的 Docker docker是一种容器技术,可以解决软件和系统强关联关系,使得软件的安装和卸载更方便,它可以将我们的应用以及依赖进行打包,制作出一个镜…...
macOS平台TensorFlow环境安装
1.安装xtarfile pip3 install xtarfile 2.安装 pip3 install matplotlib 3.安装jieba pip3 install jieba 4.安装 pip3 install tensorflow tensorflow安装成功...
全网最全 线程邮箱
线程邮箱的优缺点 优点 避免资源竞争:线程邮箱通过队列和互斥锁来管理线程间的通信,确保只有持有锁的线程可以访问和修改队列中的数据,从而避免了多个线程同时尝试修改同一资源时可能出现的竞争条件,减少了因资源竞争导致的死锁…...
Linux下rpm方式部署mysql(国产化生产环境无联网服务器部署实操)
请放心观看,已在正式环境部署验证,流程无问题! 所用系统为国产化麒麟银河 aarch64系统,部署时间2024年9月份! #查看服务器信息 #涉及生产服务器,所以输出信息隐藏了一部分[rootecs-xxxxx hdata]# uname -…...
【Python机器学习】NLP信息提取——正则模式
我们需要一种模式匹配算法,该算法可以识别与模式匹配的字符序列或词序列,以便从较长的文本字符串中“提取”它们。构建这种模式匹配算法的简单方法是在Python中,使用一系列if/else语句在字符串的逐个位置查找该符号(单词或字符&am…...
opc服务器与opc服务器如何通讯
OPC(OLE for Process Control,即过程控制对象链接)是一种工业自动化领域常用的通讯协议,它提供了一种标准化的方式,使得不同厂家的设备可以互相通讯。OPC服务器是运行在计算机上的软件程序,用于接收和处理来…...
指针 (六)
OK,书接上回,咱们继续: 一 . 函数指针变量 (1)函数指针变量的创建 首先我们得明白,什么是函数指针变量呢?从我们之前学习过的整型指针,数组指针的相关知识当中,通过类…...
Linux下vscode配置C++和python编译调试环境
Visual Studio Code (简称 VSCode) 是由微软开发的一款免费、开源、跨平台的代码编辑器。它支持 Windows、macOS 和 Linux 操作系统,并且内置对多种编程语言的支持,包括但不限于 C/C、Python、JavaScript、TypeScript、Java 和 Go 等。VSCode 主要用于编…...
OrionX GPU算力池助力AI OCR场景应用
01 AI OCR的历史及概念 OCR(Optical Character Recognition,光学字符识别)是指采用光学的方式将纸质文档中的文字转换成为黑白点阵的图像文件,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文…...
移动端如何实现智能语音交互
智能语音交互(Intelligent Speech Interaction)是基于语音识别、语音合成、自然语言理解等技术,为企业在多种实际应用场景下,赋予产品“能听、会说、懂你”式的智能人机交互功能。适用于智能问答、智能质检、法庭庭审实时记录、实…...
HTTPS:构建安全通信的基石
HTTPS(Hypertext Transfer Protocol Secure),作为互联网上安全通信的基石,通过在HTTP基础上引入SSL/TLS协议层,实现了数据传输的加密,确保了信息的机密性、完整性和真实性。这一过程涉及多个精细设计的步骤…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
