longestCommonSubstringLength function
Returns the length of the longest common substring of a and b.
Implementation
int longestCommonSubstringLength(String a, String b) {
if (a.isEmpty || b.isEmpty) return 0;
int maxLen = 0;
final List<List<int>> dp = List.generate(a.length + 1, (_) => List.filled(b.length + 1, 0));
for (int i = 1; i <= a.length; i++) {
for (int j = 1; j <= b.length; j++) {
if (a[i - 1] == b[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
if (dp[i][j] > maxLen) maxLen = dp[i][j];
}
}
}
return maxLen;
}