13 const std::size_t len1 = s1.Length(), len2 = s2.Length();
14 std::vector<std::vector<unsigned int>> d(len1 + 1, std::vector<unsigned int>(len2 + 1));
17 for (
unsigned int i = 1; i <= len1; ++i)
19 for (
unsigned int i = 1; i <= len2; ++i)
22 for (
unsigned int i = 1; i <= len1; ++i)
23 for (
unsigned int j = 1; j <= len2; ++j)
24 d[i][j] = std::min({d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + (s1[i - 1] == s2[j - 1] ? 0 : 1)});
31 const std::size_t len1 = s1.size(), len2 = s2.size();
32 std::vector<std::vector<unsigned int>> d(len1 + 1, std::vector<unsigned int>(len2 + 1));
35 for (
unsigned int i = 1; i <= len1; ++i)
37 for (
unsigned int i = 1; i <= len2; ++i)
40 for (
unsigned int i = 1; i <= len1; ++i)
41 for (
unsigned int j = 1; j <= len2; ++j)
42 d[i][j] = std::min({d[i - 1][j] + 1, d[i][j - 1] + 1, d[i - 1][j - 1] + (s1[i - 1] == s2[j - 1] ? 0 : 1)});