' P '

whatever I will forget

ABC177 B - Substring

問題

atcoder.jp

わからん

  • ぱっと解説コードを見たときにイマイチわからない.
  • 図解してもわかりにくい....

やっていること

  • 解説動画のコードのほうが直感的にわかりやすい(これ大事).
  • 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)

www.youtube.com