'a'
mh-two-thousand-and-two
2024-04-12 44d2c92345cd156a59fc327b3060292a282d2893
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var vector = [];
var bChars = [];
 
exports = function(a, b) {
    if (a === b) return 0;
 
    if (a.length > b.length) {
        var tmp = a;
        a = b;
        b = tmp;
    }
    var aLen = a.length;
    var bLen = b.length;
    if (!aLen) return bLen;
    if (!bLen) return aLen;
 
    while (aLen > 0 && a.charCodeAt(aLen - 1) === b.charCodeAt(bLen - 1)) {
        aLen--;
        bLen--;
    }
    if (!aLen) return bLen;
 
    var start = 0;
    while (start < aLen && a.charCodeAt(start) === b.charCodeAt(start)) {
        start++;
    }
    aLen -= start;
    bLen -= start;
    if (!aLen) return bLen;
    var current = 0;
    var left;
    var above;
    var charA;
    var i = 0;
    while (i < bLen) {
        bChars[i] = b.charCodeAt(start + i);
        vector[i] = ++i;
    }
 
    for (var _i = 0; _i < aLen; _i++) {
        left = _i;
        current = _i + 1;
        charA = a.charCodeAt(start + _i);
        for (var j = 0; j < bLen; j++) {
            above = current;
            current = left;
            left = vector[j];
            if (charA !== bChars[j]) {
                if (left < current) current = left;
                if (above < current) current = above;
                current++;
            }
            vector[j] = current;
        }
    }
    return current;
};
 
module.exports = exports;