最短編輯距離

2021-10-03 21:00:17 字數 714 閱讀 5428

給定兩個字串a和b,現在要將a經過若干操作變為b,可進行的操作有:

刪除–將字串a中的某個字元刪除。

插入–在字串a的某個位置插入某個字元。

替換–將字串a中的某個字元替換為另乙個字元。

現在請你求出,將a變為b至少需要進行多少次操作。

輸入格式

第一行包含整數n,表示字串a的長度。

第二行包含乙個長度為n的字串a。

第三行包含整數m,表示字串b的長度。

第四行包含乙個長度為m的字串b。

字串中均只包含大寫字母。

輸出格式

輸出乙個整數,表示最少操作次數。

資料範圍

1≤n,m≤1000

輸入樣例:

10agtctgacgc

11agtaagtaggc

輸出樣例:

#includeusing namespace std;

int n,m;

const int n=1010;

char a[n],b[n];

int f[n][n];

int main()

else

f[i][j]=min

(f[i][j],f[i-1][j-1]+1);}

cout<;

return 0;

}

最短編輯距離 python 最短編輯距離演算法實現

一,演算法介紹 在cs124課程的第一周提到 求解兩個字串相似度的演算法 minimum edit distance 最短編輯距離 演算法。該演算法在nlp 自然語言處理 中也會用到。如何定義相似度呢?任給兩個字串x 和y,使用以下三種操作將 字串x 變到 字串y 插入 insert 操作 刪除操作...

最短編輯距離

題目鏈結 給定兩個字串a和b,現在要將a經過若干操作變為b,可進行的操作有 刪除 將字串a中的某個字元刪除。插入 在字串a的某個位置插入某個字元。替換 將字串a中的某個字元替換為另乙個字元。現在請你求出,將a變為b至少需要進行多少次操作。輸入格式 第一行包含整數n,表示字串a的長度。第二行包含乙個長...

最短編輯距離

題目 給定兩個字串 a 和 b,現在要將 a 經過若干操作變為 b,可進行的操作有 刪除 將字串 a 中的某個字元刪除。插入 在字串 a 的某個位置插入某個字元。替換 將字串 a 中的某個字元替換為另乙個字元。現在請你求出,將 a 變為 b 至少需要進行多少次操作。集合 將a 1i 變成b 1j 的...