0
這段代碼返回2項的Levenshtein編輯距離。 我如何做到這一點,以便插入和刪除只花費0.5而不是1?替換仍然需要花費1.Levenshtein編輯距離Python
def substCost(x,y):
if x == y:
return 0
else:
return 1
def levenshtein(target, source):
i = len(target); j = len(source)
if i == 0:
return j
elif j == 0:
return i
return(min(levenshtein(target[:i-1],source)+1,
levenshtein(target, source[:j-1])+1,
levenshtein(target[:i-1], source[:j-1])+substCost(source[j-1],target[i-1])))
請修復您問題的縮進,目前無法讀取。即使如此,把所有東西放在一條線上也不是慣用的python,這使得很難回答。 – roganjosh
你到目前爲止嘗試過什麼?在請求某人爲你解決這個問題之前,你應該發佈一個嘗試 –
用另一個元音代替元音是否也花費0.5,或者它只是插入和刪除比正常便宜?用元音替換非元音怎麼辦?反之亦然? – Blckknght