首先,找出字母以保持它們出現的順序,然後從源單詞中刪除其他字母,然後將其他字母插入目標單詞。
算法是個人推理,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))