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

maxRepeating函数返回值类型错误及逻辑异常问题求助

maxRepeating函数返回值类型错误及逻辑异常问题求助

我来帮你排查并修复这个问题,先看看你的代码里存在的核心问题:

原代码的问题分析

class Solution:
    def maxRepeating(self, sequence: str, word: str) -> int:
        k = 0
        check = word
        for x in range(len(sequence)//len(word)):
            if sequence.count(check) >= 1:
                check = check + word
                k += 1
            else:
                return k
        break  # 这里是语法错误!break不能在循环外使用
  1. 语法错误:最后一行的break语句写在for循环外部,这违反了Python语法规则,会直接触发运行时报错。
  2. 逻辑漏洞:当所有循环迭代都满足子串存在的条件时,循环结束后函数没有返回最终计算的k值,此时函数会默认返回None,而非预期的最大重复次数。比如你测试的sequence='ababab'、word='ab'场景,循环会完整执行3次,但最后因没有返回语句且存在语法错误,导致无法得到正确结果。

修复后的代码方案

这里提供两种修复思路,你可以根据需求选择:

方案一:基于原逻辑优化

保留你原本的思路,修正语法和逻辑缺陷:

class Solution:
    def maxRepeating(self, sequence: str, word: str) -> int:
        k = 0
        check = word
        max_possible = len(sequence) // len(word)
        for _ in range(max_possible):
            # 用in关键字判断子串存在更直观高效
            if check in sequence:
                k += 1
                check += word
            else:
                break
        # 循环结束后返回最终的最大重复次数
        return k

方案二:更严谨的连续重复检测

如果需要确保检测的是连续重复的子串(原逻辑也满足,但这个方案更精准):

class Solution:
    def maxRepeating(self, sequence: str, word: str) -> int:
        word_len = len(word)
        seq_len = len(sequence)
        max_k = 0
        
        # 遍历每个可能的起始位置
        for i in range(seq_len - word_len + 1):
            current_k = 0
            current_pos = i
            # 连续检查是否匹配目标word
            while current_pos + word_len <= seq_len and sequence[current_pos:current_pos+word_len] == word:
                current_k += 1
                current_pos += word_len
            # 更新记录的最大重复次数
            if current_k > max_k:
                max_k = current_k
        return max_k

测试验证

针对你的测试用例sequence='ababab'、word='ab':

  • 方案一的循环会执行3次,每次check分别为'ab'、'abab'、'ababab',均能在sequence中找到,最终返回k=3,符合预期。
  • 方案二会从位置0开始检测,连续匹配3次'ab',得到current_k=3,最终返回max_k=3,同样符合预期。

备注:内容来源于stack exchange,提问作者ak231472

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 11:04:29