1221. 分割平衡字符串
解题思路
解法1
1.分析题意,求字符串中,最多的连续子串,子串需满足两边对等的条件,也就是包含L和R次数相等
2.所以转换题意为,求取字符串中,满足LR次数相等的连续子串,最多有几个
3.遍历string,记录LR出现的次数,当LR次数相等时,清空map,并且ans++
解题遇到的问题
无
后续需要总结学习的知识点
是否有其他解法?
##解法1
class Solution {
public int balancedStringSplit(String s) {
// 分析题意,求字符串中,最多的连续子串,子串需满足两边对等的条件,也就是包含L和R次数相等
// 所以转换题意为,求取字符串中,满足LR次数相等的连续子串,最多有几个
// 遍历string,记录LR出现的次数,当LR次数相等时,清空map,并且ans++
int ans = 0;
int lSize = 0, rSize = 0;
for (int i = 0; i < s.length(); i++) {// 每次发现重复元素时,自己
if (s.charAt(i) == 'L') {
lSize++;
} else {
rSize++;
}
if (rSize == lSize) {
ans++;
rSize = 0;
lSize = 0;
}
}
return ans;
}
}
网友评论