Leetcode上stack相关的题目相比CC150题怎么那么少?Longest Valid Parentheses# JobHunting - 待字闺中
a*e
1 楼
第一次看到的时候没想到要push数组的位置,而不是push‘(’,结果怎么都做不出来。
后来看了讨论的idea是把Indices存起来,按照那个想法写了,却发现last的初值要设
成-1,而不是0。最后通过的答案,看着觉得好郁闷,想了好久。。。。。。。
int longestValidParentheses(string s) {
vector left;
int n=s.size();
int last=-1,lmax=0;
for (int i=0; i {
if (s[i]=='(')
{
left.push_back(i);
}
else if (s[i]==')')
{
if (left.empty())
{
last=i;
}
else
{
left.pop_back();
if (left.empty())
{
lmax = max(lmax,i-last);
}
else
lmax = max(lmax,i-left.back());
}
}
}
return lmax;
}
后来看了讨论的idea是把Indices存起来,按照那个想法写了,却发现last的初值要设
成-1,而不是0。最后通过的答案,看着觉得好郁闷,想了好久。。。。。。。
int longestValidParentheses(string s) {
vector
int n=s.size();
int last=-1,lmax=0;
for (int i=0; i
if (s[i]=='(')
{
left.push_back(i);
}
else if (s[i]==')')
{
if (left.empty())
{
last=i;
}
else
{
left.pop_back();
if (left.empty())
{
lmax = max(lmax,i-last);
}
else
lmax = max(lmax,i-left.back());
}
}
}
return lmax;
}