結果
| 問題 |
No.225 文字列変更(medium)
|
| コンテスト | |
| ユーザー |
👑 Kazun
|
| 提出日時 | 2021-02-08 05:07:20 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 96 ms / 5,000 ms |
| コード長 | 667 bytes |
| コンパイル時間 | 153 ms |
| コンパイル使用メモリ | 82,224 KB |
| 実行使用メモリ | 83,072 KB |
| 最終ジャッジ日時 | 2024-07-05 00:02:20 |
| 合計ジャッジ時間 | 2,637 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 |
ソースコード
def Levenshtein_Distance(S:str,T:str,example=False) ->int:
"""文字列S,Tにおけるレーベンシュタイン距離(編集距離) を求める.
S,T: string
"""
M=len(S);N=len(T)
DP=[[0]*(N+1) for _ in range(M+1)]
DP[0]=list(range(N+1))
for i in range(1,M+1):
D=DP[i]
E=DP[i-1]
D[0]=i
for j in range(1,N+1):
if S[i-1]==T[j-1]:
D[j]=min(D[j-1]+1,E[j]+1,E[j-1])
else:
D[j]=min(D[j-1],E[j],E[j-1])+1
return D[-1]
#================================================
N,M=map(int,input().split())
S=input()
T=input()
print(Levenshtein_Distance(S,T))
Kazun