JSFiddle - React, Tailwind, and code Playground

by infous

JavaScript

/* http://company.yandex.ru/job/vacancies/startup_dev.xml */

function task(strings) {
    var common = strings[0];
    for (var i = 1; i < strings.length; i++) {
        common = maxcommon(common, strings[i]);
    }
    return common;
}

function maxcommon(a, b) {
    var t = [];
    var l = a.length;
    
    for (var i = 0; i < l; i++) {
        var j = i;
        var s = "";
        while (j < l) {
            s += a[j];
            if (b.indexOf(s) !== -1) {
                t.push(s);
                j++;
            } else {
                break;
            }
        }
    } 
    
    return maxstr(t);
}

function maxstr(arr) {
    var m = 0;
    var s = "";
    for (var i = 0; i < arr.length; i++) {
        if (m < arr[i].length) {
            m = arr[i].length;
            s = arr[i];
        }
    }
    return s;
}

document.getElementsByTagName("body")[0].innerHTML = task(["abacaba", "mycabarchive", "acabistrue"]);

//alert(task(["abacaba", "mycabarchive", "acabistrue"]));

/*for (var i = 0; i < t.length; t++) {
    jQuery("p").html(t[i]).appendTo("body");
}*/