编辑距离的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 }