47 std::vector<std::vector<uint64_t>> d(lhs.size() + 1, std::vector<uint64_t>(rhs.size() + 1, 0ull));
48 for (uint64_t row = 1; row < d.size(); ++row) {
51 for (uint64_t col = 1; col < d.front().size(); ++col) {
55 for (uint64_t row = 1; row < d.size(); ++row) {
56 for (uint64_t col = 1; col < d[row].size(); ++col) {
59 if (lhs[row - 1] == rhs[col - 1]) {
63 if (tolower(lhs[row - 1]) == tolower(rhs[col - 1])) {
67 d[row][col] = std::min({d[row - 1][col] + 1, d[row][col - 1] + 1, d[row - 1][col - 1] + cost});
70 return d.back().back();