2024/9/26 Hot100 dp结束

This commit is contained in:
linlihong 2024-09-26 16:18:49 +08:00
parent a5035ff16f
commit 2fe32a5218
1 changed files with 43 additions and 0 deletions

View File

@ -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;
}
}