余晖~ 2022-02-26 23:03 采纳率: 90.3%
浏览 12
已结题

KMP算法数组越界力扣28题

问题遇到的现象和发生背景

list assignment index out of range

问题相关代码,请勿粘贴截图
class Solution:
    def strStr(self, haystack: str, needle: str) -> int:

        def getNext(a,needle):
            next = ['' for _ in range(a)]
            k = -1
            next[0] = k       #list assignment index out of range
            for i in range(1, a):
                while k > -1 and needle[k+1] != haystack[i]:
                    k = next[k]
                if needle[k+1] == haystack[i]:
                    k += 1
                next[i] = k
            return next
        

        a = len(needle)    #模式串
        b = len(haystack)  #母串
        p = -1
        next = getNext(a, needle)
        if a == 0:
            return 0
        for j in range(b):
            while p >= 0 and needle[p+1] != haystack[j]:
                p = next[p]
            if needle[p+1] == haystack[j]:
                p += 1
            if p == a - 1:
                return j - a + 1
        return -1

运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月6日
    • 创建了问题 2月26日

    悬赏问题

    • ¥20 python忆阻器数字识别
    • ¥15 无法输出helloworld
    • ¥15 高通uboot 打印ubi init err 22
    • ¥20 PDF元数据中的XMP媒体管理属性
    • ¥15 R语言中lasso回归报错
    • ¥15 网站突然不能访问了,上午还好好的
    • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
    • ¥15 semrush,SEO,内嵌网站,api
    • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
    • ¥15 振荡电路,ADS仿真