2024/9/26 Hot100 dp结束
This commit is contained in:
parent
a5035ff16f
commit
2fe32a5218
|
@ -41,6 +41,7 @@ public class Num31 {
|
|||
|
||||
/**
|
||||
* 动态规划解法
|
||||
*
|
||||
* @param s
|
||||
* @return
|
||||
*/
|
||||
|
@ -67,4 +68,46 @@ public class Num31 {
|
|||
}
|
||||
return max;
|
||||
}
|
||||
|
||||
/**
|
||||
* 双指针
|
||||
*
|
||||
* @param s
|
||||
* @return
|
||||
*/
|
||||
public int longestValidParentheses3(String s) {
|
||||
int left = 0, right = 0, max = 0;
|
||||
//从前往后右括号大于左括号,left和right都归0
|
||||
for (int i = 0; i < s.length(); i++) {
|
||||
if (s.charAt(i) == '(') {
|
||||
left++;
|
||||
} else {
|
||||
right++;
|
||||
}
|
||||
//left大于right先不管
|
||||
if (left == right) {
|
||||
max = Math.max(max, 2 * right);
|
||||
} else if (right > left) {
|
||||
//right大于left重新记
|
||||
left = right = 0;
|
||||
}
|
||||
}
|
||||
left = right = 0;
|
||||
//从后往前左括号大于右括号,left和right都归0
|
||||
for (int i = s.length() - 1; i >= 0; i--) {
|
||||
if (s.charAt(i) == '(') {
|
||||
left++;
|
||||
} else {
|
||||
right++;
|
||||
}
|
||||
if (left == right) {
|
||||
max = Math.max(max, 2 * left);
|
||||
} else if (left > right) {
|
||||
//left大于right重新记,这个很重要
|
||||
left = right = 0;
|
||||
}
|
||||
}
|
||||
return max;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue