diff --git a/levenshtein/dart/code.dart b/levenshtein/dart/code.dart index f25a652d..22e0cd6e 100644 --- a/levenshtein/dart/code.dart +++ b/levenshtein/dart/code.dart @@ -21,15 +21,17 @@ int levenshteinDistance(String word1, String word2) { // Compute Levenshtein distance for (int i = 1; i <= m; i++) { + final row = matrix[i]; + final previousRow = matrix[i - 1]; for (int j = 1; j <= n; j++) { int cost = word1[i - 1] == word2[j - 1] ? 0 : 1; - matrix[i][j] = min( - min( - matrix[i - 1][j] + 1, // Deletion - matrix[i][j - 1] + 1 // Insertion - ), - matrix[i - 1][j - 1] + cost // Substitution - ); + row[j] = min( + min( + previousRow[j] + 1, // Deletion + row[j - 1] + 1, // Insertion + ), + previousRow[j - 1] + cost, // Substitution + ); } } return matrix[m][n];