You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找字符串最长连续A子串的方法及Java代码输出n-1问题排查

Java最长连续'A'子串代码bug排查

核心错误原因

  • 非'A'字符处理逻辑错误:遇到非'A'时执行count--而非重置count为0,连续多个非'A'会让count变为负数,后续统计'A'时计数起点低于实际值,最终结果偏小。
  • max值更新逻辑错误:只要遇到'A'就直接覆盖max值,后续出现更短的连续'A'序列会把之前记录的更大的最长长度覆盖,丢失正确统计结果。

修复后的完整代码

import java.util.Scanner;

public class MaxContinuousA {
    public static void main (String[] args) 
    {
        Scanner s=new Scanner(System.in);
        String str=s.nextLine();
        int size=str.length();
        int count=0,max=0;
        
        for(int i=0;i<size;i++)
        {
            if(str.charAt(i)=='A')
            {
                count++;
                // 仅当当前连续长度超过已记录最大值时才更新max
                if(count > max) {
                    max = count;
                }
            }
            else
            {
                // 遇到非A直接重置连续计数为0
                count = 0;
            }
        }
        System.out.print(max);                 
    }
}

验证说明

输入测试用例AAABBBBBAAAAAA时,修复后的代码统计到最后6个连续'A',count累加至6时更新max为6,输出结果与预期一致。

内容的提问来源于stack exchange,提问作者Shubhamsingh Thakur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 21:36:12