【发布时间】:2026-02-08 00:40:01
【问题描述】:
从codingBat解决this problem
给定一个字符串,返回其中最大“块”的长度 细绳。块是一系列相同的相邻字符。
maxBlock("hoopla") → 2maxBlock("abbCCCddBBBxx") → 3maxBlock("") → 0
我试图用一个for循环来解决它,如下所示:
public int maxBlock(String str) {
int maxCounter=1;
int counter=1;
if(str.length()==0)
{
return 0;
}
for(int i=0;i<str.length()-1;i++)
{
if(str.substring(i,i+1).equals(str.substring(i+1,i+2)))
{
counter++;
}
if(counter>maxCounter)
{
maxCounter=counter;
counter=0;
}
}
return maxCounter;
}
它击败了除一个之外的所有案例。任何人都可以展示一个带有一个 for 循环的解决方案吗?
抱歉迟到了,但您不能使用 REGEX 或集合框架中的任何内容。
【问题讨论】:
-
"它胜过所有案例,除了一个" > 这是什么意思?
-
那么它在什么情况下失败了?
-
@Duncan maxBlock("XXBBBBbbxx") 应该返回 4 但我的解决方案返回 3。
标签: java