Warning: session_start(): open(/var/lib/php/sessions/sess_istipfli8dbjo8fcj3uk0in172, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static int leven(S s, S t) {
// degenerate cases
if (s.equals(t)) return 0;
int ls = s.length(), lt = t.length();
if (ls == 0) return lt;
if (lt == 0) return ls;
// create two work vectors of integer distances
int[] v0 = new int[lt + 1];
int[] v1 = new int[lt + 1];
// initialize v0 (the previous row of distances)
// this row is A[0][i]: edit distance for an empty s
// the distance is just the number of characters to delete from t
for (int i = 0; i < v0.length; i++)
v0[i] = i;
for (int i = 0; i < ls; i++)
{
// calculate v1 (current row distances) from the previous row v0
// first element of v1 is A[i+1][0]
// edit distance is delete (i+1) chars from s to match empty t
v1[0] = i + 1;
// use formula to fill in the rest of the row
for (int j = 0; j < lt; j++)
{
int cost = s.charAt(i) == t.charAt(j) ? 0 : 1;
v1[j + 1] = Math.min(Math.min(v1[j] + 1, v0[j + 1] + 1), v0[j] + cost);
}
// swap arrays
int[] v = v1; v1 = v0; v0 = v;
}
// for array copying:
// return v1[lt];
// for array swapping:
return v0[lt];
}