Menu
CoddyTech

Edit Distance

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

2つの単語、word1とword2が与えられます。1回の編集では、word1に対して、任意の位置に文字を挿入する、文字を削除する、または文字を別の文字に置き換える、のいずれかを行います。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回の編集では不十分です。

lock icon提出時に隠しテスト+21件

challenge icon

発展問題

編集内容だけでなく、最も短い編集リストも1つ返してもらえますか?

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

ケース1

ケース2

ケース3

入力

word1 = "spot"
word2 = "stop"

期待値

2