编辑距离—模板

编辑距离的c++模板

 1 int dp[dp_maxn][dp_maxn];
 2 template<typename T>
 3 int edit_dis(const T *dec, int dec_len,
 4              const T *tag, int tag_len){
 5     for (int i = 0; i <= dec_len; ++i)    dp[i][0] = i;
 6     for (int i = 0; i <= tag_len; ++i)    dp[0][i] = i;
 7     for (int i = 1; i <= dec_len; ++i)
 8     for (int j = 1; j <= tag_len; ++j) {
 9         dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + 1;
10         dp[i][j] = min(dp[i][j], dp[i - 1][j - 1]
11                         + (dec[i - 1] != tag[j - 1]));
12     }
13     return dp[dec_len][tag_len];
14 }

猜你喜欢

转载自www.cnblogs.com/zfdyf/p/9033258.html
今日推荐