當前位置:成語大全網 - 書法字典 - python單詞的最小編輯距離

python單詞的最小編輯距離

分析題目其實就是想保留原字母。

首先,找出字母以保持它們出現的順序,然後從源單詞中刪除其他字母,然後將其他字母插入目標單詞。

算法是個人推理,100%不證明正確,做個參考(python3):

def?get_copy_del_chars(src,des):

開始?=?0

結果?=?[]

為了什麽?夏爾?在?src:

pos?=?des[start:]。查找(字符)

如果?pos?& gt=?0:

result.append(('c ',?char))

開始?=?開始?+?pos?+?1

否則:

result.append(('d ',?char))

回歸?結果

def?word2word(src,des):

copy_del_chars?=?get_copy_del_chars(src,des)

結果?=?[]

idx?=?0

為了什麽?行動,?夏爾?在?copy_del_chars:

如果?行動?==?d ':

result.append((動作,char))

繼續

如果?des[idx]?==?字符:

result.append((動作,char))

idx?+=?1

繼續

什麽時候?真實:

result.append(('i ',?des[idx]))

idx?+=?1

如果?des[idx]?==?字符:

result.append((動作,char))

idx?+=?1

破裂

回歸?結果

def?calc_score(操作):

分數_地圖?=?{ '我':?20,?c ':5,?d ':20}

回歸?sum(score_map[op[0]]?為了什麽?op?在?操作)

如果?__name__?==?__main__ ':

操作?=?word2word('算法',?鱷魚’)

打印(calc_score(operates))