KMPアルゴリズム(Python)
の原因となる
牛客にKMPアルゴリズムの問題を作って、私が前に勉強したコードに従って計算して結果が間違っていることを発見して、後で再びこのような問題が発生することを避けるために、まずコードを置いて、アルゴリズムの設計について後で見てから補充します.
に続く
前のコードは間違っていません.答えの中でnext配列のメインプログラムは私の前のコードのメインプログラムとは違います.私が求めているのはnext配列で、最長の共通接頭辞接尾辞ではありません.次のコードはnext配列、例えば
文字列
a
b
a
b
next配列
-1
0
0
1
共通接頭辞接尾辞配列
0
0
1
2
next配列コード
next配列があれば、メインプログラムを書いてマッチングすることができます.
牛客にKMPアルゴリズムの問題を作って、私が前に勉強したコードに従って計算して結果が間違っていることを発見して、後で再びこのような問題が発生することを避けるために、まずコードを置いて、アルゴリズムの設計について後で見てから補充します.
に続く
前のコードは間違っていません.答えの中でnext配列のメインプログラムは私の前のコードのメインプログラムとは違います.私が求めているのはnext配列で、最長の共通接頭辞接尾辞ではありません.次のコードはnext配列、例えば
文字列
a
b
a
b
next配列
-1
0
0
1
共通接頭辞接尾辞配列
0
0
1
2
next配列コード
def Next(T):
i,j=0,-1
next=[-1]*len(T)
while i
next配列があれば、メインプログラムを書いてマッチングすることができます.
def match(P,T):
i,j=0,0
next=Next(P)
while i