博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Longest Valid Parentheses
阅读量:4073 次
发布时间:2019-05-25

本文共 799 字,大约阅读时间需要 2 分钟。

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 "()", which has length = 2.

Another example is ")()())", where the longest valid parentheses substring is "()()", which has length = 4.

enter image description here

Java代码:

public class Solution {    public int longestValidParentheses(String s) {        char[] S = s.toCharArray();		int[] V = new int[S.length];		int open = 0;		int max = 0;		for (int i = 0; i < S.length; i++) {			if (S[i] == '(')				open++;			if (S[i] == ')' && open > 0) {				V[i] = 2 + V[i - 1];				if(i-V[i] >= 0) {                    V[i] += V[i-V[i]];  //处理“()()”这种情况				}				open--;			}			if (V[i] > max)				max = V[i];		}		return max;    }}

 

转载地址:http://uvuni.baihongyu.com/

你可能感兴趣的文章
[swift实战入门]手把手教你编写2048(三)
查看>>
堆排序原理(图)及java版代码
查看>>
【JAVA数据结构】栈(数组实现)
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
String类的intern方法随笔
查看>>
【泛型】一个简易的对象间转换的工具类(DO转VO)
查看>>
1.随机函数,计算机运行的基石
查看>>
MouseEvent的e.stageX是Number型,可见as3作者的考虑
查看>>
在mc中直接加aswing组件,该组件还需最后用validate()方法
查看>>
移植Vim配色方案到Eclipse
查看>>
从超链接调用ActionScript
查看>>
谈谈加密和混淆吧[转]
查看>>
TCP的几个状态对于我们分析所起的作用SYN, FIN, ACK, PSH,
查看>>
网络游戏客户端的日志输出
查看>>
关于按钮的mouseOver和rollOver
查看>>
《多线程服务器的适用场合》例释与答疑
查看>>
Netty框架
查看>>
Socket经验记录
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>