59 贪心算法和回溯算法分割平衡字符串

问题描述:在一个平衡字符串中,'L'和'R'字符的数量是相同的。在给定一个平衡字符串s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串,返回可以通过分割得到的平衡字符串的最大数量。回溯算法求解:给定一个初始start,一直往后遍历,如果start和遍历到的index如果是平衡串,则向下继续dfs,这个dfs以index+1为开始继续遍历,如果该dfs返回,则接着进行循环遍历,如果index=字符串.length,则表示找到了一个平衡字符串。
 

public Boolean isBalance(String s)
{
int Lcount=0;
int Rount=0;
for(int i=0;i

贪心算法求解:指针一直往前走,只要Lcount==Rcount,即为一个平衡子串,

public int balance(String s)
{
int Lcount=0;
int Lcount=0;
int count=0;
for(int i=0;i {
if(s.charAt(i)=='L'){Lcount++;}
else
{
Rcount++;
}
if(Lcount==Rcount){count++;}
}
​​​​​​​return count;
}

你可能感兴趣的:(JAVA刷题500道,算法,贪心算法,深度优先,数据结构,java)