LeetCode—32 Longest Valid Parentheses
来源:互联网 发布:m20火箭筒数据 编辑:程序博客网 时间:2024/05/22 10:23
思路:建立一维数组vals[],vals[i]表示从i开始(包含该字符)到结尾,这个数组的合法括号长度。然后从倒数第二个字符开始读,读到‘(’检测其后面的vals[i+1]个位置是否为‘)’,如果是,则表明正好构成了一个新的合法括号,用该值加上2,再加上该值后面一个数,即截断后剩下的字符串能够成的最大合法长度。
public class Solution { public int longestValidParentheses(String s) { int length=s.length(); if (length==0) {return 0;} int ans=0; char[] c=s.toCharArray(); int[] vals=new int[length]; for (int i = length-2; i >= 0; i--) { if (c[i]=='(') {int t=i+1+vals[i+1];if (t<length&&c[t]==')') {vals[i]=vals[i+1]+2;vals[i]+=((t+1<length)?vals[t+1]:0);ans=ans<vals[i]?vals[i]:ans;}}} return ans; }}
0 0
- LeetCode—32 Longest Valid Parentheses
- LeetCode(32)Longest Valid Parentheses
- [Leetcode] #32 Longest Valid Parentheses
- [Leetcode] 32 - Longest Valid Parentheses
- LeetCode 32 Longest Valid Parentheses
- Leetcode 32 Longest Valid Parentheses
- leetcode 32 -- Longest Valid Parentheses
- LeetCode---(32)Longest Valid Parentheses
- leetcode 32 : Longest Valid Parentheses
- leetcode 32: Longest Valid Parentheses
- [leetcode 32]Longest Valid Parentheses
- LeetCode-32 Longest Valid Parentheses
- Leetcode #32 Longest Valid Parentheses
- Leetcode#32||Longest Valid Parentheses
- leetcode-32 Longest Valid Parentheses
- leetcode 32:Longest Valid Parentheses
- LeetCode 32: Longest Valid Parentheses
- Leetcode 32 - Longest Valid Parentheses
- MFC相关函数代码
- Intent和PendingIntent的区别
- Java中栈使用ArrayDeque或LinkedList的性能会更加出色
- 黑马程序员—Java基础—集合框架3
- Intent中的四个重要属性——Action、Data、Category、Extras
- LeetCode—32 Longest Valid Parentheses
- Linux各版本安装Oracle10g 11g教程集合
- Intellij 14 1. Intellij 14通过maven创建web项目
- mysql 二进制日志恢复
- 队列:队尾----队头 对应 栈底----栈顶 对应 序号 N----3,2,1,0
- 一个线性布局中,为什么 android:layout_gravity="right"不能控制按钮在屏幕右侧?
- 理解Cookie和Session机制
- 端口号冲突
- 模拟Socket的通讯----(3)---服务器端--可忽略