截止到目前我已经写了 600多道算法题,其中部分已经整理成了pdf文档,目前总共有1000多页(并且还会不断的增加),大家可以免费下载
贪心算法解决
平衡字符串就是在字符串中L和R的数量相等,题中说了字符串s中只包含L和R。所以一种最简单的思路就是使用两个变量分别记录字符L和R的个数,当他们相等的时候说明找到了一个平衡字符串,我们只需要记录他们相等的次数即可,也就是平衡字符串的个数,这里以示例一为例看个视频
视频链接
来看下代码
public int balancedStringSplit(String s) {
int count = 0;//平衡字符串的数量
int left = 0;//字符L的数量
int right = 0;//字符R的数量
for (char ch : s.toCharArray()) {
//统计L和R的数量
if (ch == 'L') {
left++;
} else {
right++;
}
//如果L和R的数量相等,说明截取的子
//串是平衡字符串
if (left == right)
count++;
}
return count;
}