Menu
CoddyTech

Edit Distance

むずかしい動的計画法python iconjava iconcpp iconc iconjs icon+10

2つの単語 word1 と word2 が与えられます。1回の編集では、word1 に対して次の3つの操作のいずれかを行います。任意の位置に文字を挿入する、文字を削除する、または文字を別の文字に置き換えることです。word1 を word2 に変換するために必要な編集の最小回数を返してください。

関数

minDistance(word1: string, word2: string) → integer
word1string
あなたが編集する単語
word2string
到達するという言葉
戻り値integer
word1 を word2 に変えるための、挿入、削除、置換の最小回数

制約

  • 1 ≤ word1.length ≤ 500
  • 1 ≤ word2.length ≤ 500
  • どちらの単語も、小文字の英字のみで構成されています。

例

入力
word1 = "spot"word2 = "stop"
出力
2
説明
pをtに、tをpに置き換えます。spotはstotになり、次にstopになります。単語は2か所異なり、挿入や削除では長さが変わってしまうため、1回の編集では足りません。
challenge icon

発展問題

編集の件数に加えて、編集内容を最短のリストで返すこともできますか?

コードをリセット
def minDistance(word1, word2):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

word1 = "spot"
word2 = "stop"

期待される出力

2