如何统计给定字符串中连续子串ab的最大出现次数?
统计字符串中连续子串"ab"的最大出现次数
给定字符串abhwasababababuqabab,我们需要统计其中连续子串"ab"的最大出现次数。最终输出结果为4——字符串中段(索引6至13的位置)存在4个连续的"ab",开头仅1个,结尾有2个,因此返回最大次数4。
public class MaxConsecutiveAbCount { public static int maxConsecutiveAbCount(String s) { int maxCount = 0; // 存储最大连续出现次数 int currentCount = 0; // 存储当前连续出现次数 for (int i = 0; i < s.length() - 1; i++) { // 检查当前和下一个字符是否组成子串"ab" if (s.substring(i, i + 2).equals("ab")) { currentCount++; } else { // 如果当前次数更大,更新最大次数 maxCount = Math.max(maxCount, currentCount); currentCount = 0; // 遇到非"ab"子串,重置当前计数 } } // 最后再更新一次最大次数,避免最后一段是连续"ab"的情况 maxCount = Math.max(maxCount, currentCount); return maxCount; } public static void main(String[] args) { String inputString = "abhwasababababuqabab"; int output = maxConsecutiveAbCount(inputString); System.out.println("输出结果: " + output); } }
内容的提问来源于stack exchange,提问作者ddray31
相关产品推荐
相关产品推荐

