Longest Valid Parentheses
发布日期:2022-02-25 00:55:20
浏览次数:50
分类:技术文章
本文共 1231 字,大约阅读时间需要 4 分钟。
题目链接为
题目描述为: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 “()”, which has length = 2.
Another example is “)()())”, where the longest valid parentheses substring is “()()”, which has length = 4.
这道题可以用动态规划来解决
我的想法是算出以每个字符结尾的子串的最长有效括号对的长度.这样会得到比较简单的递推公式 C++代码如下:class Solution {public: int longestValidParentheses(string s) { int len = s.length(); int *dp = new int[len + 1]; int max = 0; dp[0] = 0; dp[1] = 0; for(int i = 1; i < len; i++){ if(s[i]==')'){ if(s[i-1]=='('){ dp[i+1] = dp[i-1] + 2; } else{ int last = i-dp[i]; if(last > 0 && s[last-1]=='('){ dp[i+1] = dp[last-1] + dp[i] + 2; } else { dp[i+1] = 0; } } } else { dp[i+1] = 0; } } for(int i = 1; i <= len; i++){ max = max > dp[i] ? max : dp[i]; } return max; }};
转载地址:https://blog.csdn.net/qq_30306087/article/details/78156654 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月02日 06时27分38秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode题解(1436):旅行终点站-寻找循环的终点(Python)
2019-04-26
H5+CSS前端特效源代码:可旋转动态日文片假名
2019-04-26
python程序没有报错但是运行没有任何结果怎么办?
2019-04-26
简单说一说MySQL中drop、delete与truncate的区别?
2019-04-26
InnoDB与MyISAM的区别
2019-04-26
思科 Packet Tracer 实验六 RIP路由协议基本配置
2019-04-26
计算机网络实验七:DHCP基本配置
2019-04-26
计算机网络实验八:思科NAT的基本配置
2019-04-26
三郎数据结构算法学习笔记:单向环形链表约瑟夫问题
2019-04-26
前端特效H5+css+js:动态可拉进度条+附完整源码
2019-04-26
三郎数据结构学习笔记:双向循环链表(判断是否对称)附源码
2019-04-26
三郎数据结构算法学习笔记:基数排序
2019-04-26
三郎数据结构算法学习笔记:斐波那契(黄金分割法)查找算法
2019-04-26
Java中标识符的命名规则是什么?硬性要求和非硬性要求
2019-04-26
Java中八种基本数据类型的大小,以及他们的封装类
2019-04-26
Spring依赖注入的方式有几种,各是什么?
2019-04-26
SpringMVC怎么样设定重定向和转发的?
2019-04-26
SpringMVC常用的注解有哪些?
2019-04-26
spring bean的生命周期
2019-04-26
计算机网络子网划分详解
2019-04-26