問題
わからん
- ぱっと解説コードを見たときにイマイチわからない.
- 図解してもわかりにくい....
やっていること
- 解説動画のコードのほうが直感的にわかりやすい(これ大事).
S
の現在のindex +T
のlength >S
のlengthの場合、探索を行う必要はないT
の文字分だけを比較したいため
- 二重目のループで
S[i+j]
となっているのは、j
分をi
に足さないとT
の文字分スライドして比較できないため.
import sys s = input() t = input() ans = sys.maxsize cnt = 0 for i in range(len(s)): if i + len(t) > len(s): break cnt = 0 for j in range(len(t)): if(s[i+j] != t[j]): cnt += 1 ans = min(ans, cnt) print(ans)