设计数码产品宣传网站,怎么做一家网站,wordpress post提交,早教类网站模板问题描述#xff1a;在一个平衡字符串中#xff0c;L和R字符的数量是相同的。在给定一个平衡字符串s#xff0c;请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串#xff0c;返回可以通过分割得到的平衡字符串的最大数量。回溯算法求解在一个平衡字符串中L和R字符的数量是相同的。在给定一个平衡字符串s请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串返回可以通过分割得到的平衡字符串的最大数量。回溯算法求解给定一个初始start一直往后遍历如果start和遍历到的index如果是平衡串则向下继续dfs这个dfs以index1为开始继续遍历如果该dfs返回则接着进行循环遍历如果index字符串.length则表示找到了一个平衡字符串。
public Boolean isBalance(String s)
{
int Lcount0;
int Rount0;
for(int i0;is.length();i)
{
if(s.charAt(i)L)
{
Lcount;
}else
{
Rcount;
}
}
return LcountRcount?true:false;
}public void tranceBack(String s,int start,Integer all)
{
if(starts.length()){all1;return;}
for(int iindex;is.length();i)
{
if(isBalance(s.substring(index,i1))){
tranceback(s,i1,all);
}else
{
continue;
}
}
}
public int TranceBack(String s)
{
Integer all0;
tranceBack(S,0,all);
return all.parseInt();
}贪心算法求解指针一直往前走只要LcountRcount即为一个平衡子串
public int balance(String s) { int Lcount0; int Lcount0; int count0; for(int i0;is.length();i) { if(s.charAt(i)L){Lcount;} else { Rcount; } if(LcountRcount){count;} } return count; }