#include <string>
#include <vector>
#include <iostream>
using namespace std;
/*
Given a string containing just the character '(' and ')', find the length of the longest
valid parentheses substring.
for "(()", the longest valid parentheses substring is "()" which has length 2.
Another example ")()())", where the longest valid parentheses substring is "()()", which
has length 4.
*/
// Use one pointer always points to the end index of vector.
int longestValidParentheses(string s) {
if(s.size() <= 1) return 0;
vector<int> index;
int maxSize = 0;
for(int i = 0; i < s.size(); ++i) {
if(s[i] == '(') {
index.push_back(i); // push the index number.
} else {
if(!index.empty() && s[index.back()] == '(') {
index.pop_back();
int lastPos = -1;
if(!index.empty()) {
lastPos = index.back();
}
maxSize = max(maxSize, i - lastPos);
} else {
index.push_back(i);
}
}
}
return maxSize;
}
int main(void) {
cout << longestValidParentheses("())()") << endl;
}
~ 相关推荐
使用libx265对YUV进行h265编码
使用libx265对YUV进行h265编码
leetcode记录32.Longest Valid Parentheses
leetcode记录32.Longest Valid Parentheses hard Runtime: 8 ms, faster than 98.79% of C++ online submissions for Longest Valid Parentheses. Memory Usage: 10.6 MB, less than 80.80% of C++ online submissions...
GAN网络详解析
介绍目前常见的GAN网络,以及GAN网络的基本组成
【Leetcode】32. Longest Valid Parentheses
题目地址: https://leetcode.com/problems/longest-valid-parentheses/
从编译到启动:RV1106嵌入式Linux系统构建的效率优化与深度实践
本文深入探讨RV1106嵌入式Linux系统构建的全流程优化策略,重点提升编译速度和驱动加载效率。通过并行编译配置、内核裁剪、驱动加载优化和硬件辅助加速等实践方法,显著缩短系统构建和启动时间,为嵌入式开发提供实用指导。
西电计组实验二 运算器实验
算术逻辑运算实验 一.实验目的 1.了解简单运算器的数据传输通路。 2.验证运算功能发生器的组合功能。 3.掌握算术逻辑运算加、减、与的工作原理。 4.验证实验台运算的8位加、减、与、直通功能。 5.按给定数据,完成几种指定的算术和逻辑运算。 二.实验原理 算术逻辑单元ALU的数据通路如图2-1所示。其中运算器ALU181根据74LS181的功能用VHDL硬件描述语言编辑而成,构成8位字长的ALU。参加运算的两个8位数据分别为A[7…0]和B[7…0],运算模式由S[3…0]的16种
leetcode 32. Longest Valid Parentheses
leetcode 32. Longest Valid Parentheses 奇了怪了,为什么java版本的算法TLE,c++版本的代码acc,难到是两种语言本身的区别:String 以及 stack操作 java版本的: package my; import java.util.Stack; public class Solution { public stat
TCS34725颜色识别模块实战调校:从“一坨”例程到精准RGB
本文针对TCS34725颜色识别模块初始数据不准的问题,提供了从基础例程到精准调校的实战指南。核心在于通过白光校正与黑白光校正两种方法,补偿传感器偏差与环境光影响,将原始数据准确映射为标准RGB值。文章详细阐述了校准原理、操作步骤与代码实现,并分享了进阶调试技巧与避坑指南,帮助开发者显著提升颜色识别的准确性与项目可靠性。
Leetcode——32. Longest Valid Parentheses
一、题目描述 Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring
注意力机制详解
注意力机制详解Attention机制由来Attention定义Encoder-Decoder框架存在问题:Attenion机制的引入Attention机制的类别Hard AttentionSoft AttentionGlobal AttentionLocal AttentionSelf AttentionMulti-head Attention附录—Transformer全局视角Tensor视角Encoder部分Self-AttentionSelf-Attention向量计算Self-Attention的矩
AC7811无感FOC实战:从开环到闭环的电机控制调试全记录
本文详细记录了基于国产AC7811芯片实现无感FOC电机控制的全过程。从硬件软件环境搭建、开环I/F启动调试,到滑模观测器参数整定,再到平滑切入闭环及双环PID调节,提供了完整的实战步骤与参数调试心法。文章重点分享了无感控制从开环到闭环切换的关键技巧与常见问题排查清单,为工程师提供了一份避坑指南。
[Java] LeetCode32 Longest Valid Parentheses
[Java] LeetCode32 Longest Valid Parentheses
基于Pixhawk与OpenMV的无人机视觉引导精准降落系统设计与实现
本文详细介绍了基于Pixhawk飞控与OpenMV视觉模块的无人机精准降落系统设计与实现。系统通过OpenMV识别Apriltag标签,结合MAVLink通信将视觉数据发送给Pixhawk,实现厘米级精准降落。文章涵盖硬件连接、软件配置、核心代码逻辑解析及实战调试技巧,为无人机自动充电、物流配送等场景提供可靠解决方案。
leetcode32——Longest Valid Parentheses
题目大意:给出由左右小括号组成的字符串,找出最长的合法字符串长度 分析:暴力解法或者dp。 暴力:枚举起始点,然后记录左右括号个数进行判断。 dp:状态:dp[i]——以下标i结尾的最长合法长度 初始化:dp[i]=0 结果:max{dp[i]} ...
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
VB摄像头监控
该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制
LeetCode 32. Longest Valid Parentheses 题解
本题是括号匹配问题的进阶版本。栈方法:记录索引,计算长度动态规划:状态定义和转移方程处理不同的括号匹配情况。
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
[Leetcode] 32. Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()",
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
LeetCode(32)Longest Valid Parentheses
题目如下: Given a string containing just the characters '(' and ')', find the length of the longest valid (well-formed) parentheses substring. For "(()", the longest valid parentheses substring is "()",
Leetcode 32 Longest Valid Parentheses DP好题
就喜欢做这种想法题, 一开始的想法和之前做过的一道括号匹配差不多,用栈。 记录未匹配的括号位置,然后两两相减找到最大值,过了,但速度并不快。 在discuss中看到有人用DP,恍然大悟! dp[i]表示以当前位置为终点的最长长度,则只能在)处更新, 如果s[i-1-dp[i-1]]=='(',则说明当前位置可以和i-1-dp[i-1]位置匹配,dp[i]=dp[i-1]+2; 然后还要加上匹配位置之前的最长长度dp[i]+=dp[i-dp[i]];
[LeetCode]32. Longest Valid Parentheses
[LeetCode]32. Longest Valid Parentheses题目描述思路开始:将’(‘压栈,当有’)’时, 出栈,结果+1 问题:统计的是所有合法的情况,不是最长合法的情况 修正:将对应的索引压栈,满足条件时,出栈,当前索引减去栈顶索引,栈初始化时先将-1压栈代码class Solution { public: int longestValidParentheses(s
Leetcode 32 Longest Valid Parentheses
思路:brute force。暴力解法,找出所有的substring,然后判断是否valid。判断方法在Leetcode 20 Valid Parentheses。这里再介绍一种方法,用stack,遇到开括号push开括号,遇到闭括号pop在stack中的开括号。在这整个过程中,stack为空时,这时候再遇到闭括号,就直接返回false。或者过程结束后,stack中不为空,也返回false。除去了这两种情况,返回true。下面给出代码: class Solution { //该方法没问题,
[LeetCode] 32. Longest Valid Parentheses
[LeetCode] 32. Longest Valid Parentheses 问题描述 Given a string containing just the characters ‘(’ and ‘)’, find the length of the longest valid (well-formed) parentheses substring. 思路 – dp dp[i]表示以第i个字符...
LeetCode 32. Longest Valid Parentheses(栈)
题目来源:https://leetcode.com/problems/longest-valid-parentheses/ 问题描述 32.Longest Valid Parentheses Hard Given a string containing just the characters'('and')', find the length of the longest vali...
[Leetcode] 32 - Longest Valid Parentheses
原题链接:https://oj.leetcode.com/problems/longest-valid-parentheses/ 这道题的做法也是保持一个栈,做法其实和20 - Valid Parentheses类似。但是不同点是,要不断的跟踪当前最大的长度,所以必须将当前index信息也保存起来,这样的话可以使用2个栈,一个栈放char,一个栈放index。但是有什么方法可以存放2种信
leetcode【32】Longest Valid Parentheses
问题描述: Given a string containing just the characters'('and')', find the length of the longest valid (well-formed) parentheses substring. Example 1: Input: "(()" Output: 2 Explanation: The longes...
3078



被折叠的 条评论
为什么被折叠?



