Есть скрипт на JavaScript принимаюший n строк и находящий наибольшую общую подстроку.
function z(e) {
if (e.length)
for (n = e[0].length, l = n; l; l--)
for (s = 0; s <= n - l; s++)
if (r = e[0].substring(s, s + l), e.every(n => ~n.indexOf(r))) return r;
return ''
}
console.log(z(process.argv.slice(2)));
Можно ли сделать это за еще меньшее количество символов?
z=a=>{if(r=a[0],!r)return'';for(i=0;i<r.length;i+=1)for(j=1;j<a.length;j+=1)if(r[i]!==a[j][i])r=r.slice(0,i);return r};
Зачем Вам меньше символов? Главное, что работало правильно и код был понятен. Я немного поправил Ваш код
function z(e) {
if (!e.length) return ''
for (let n = e[0].length, l = n; l; l--)
for (let s = 0; s <= n - l; s++)
if (let r = e[0].substring(s, s + l) && e.every(n => ~n.indexOf(r))) return r;
}
166 "чистых" символов против твоих 180. Меньше не могу. Логику не затронул, просто старался заметить повторяющиеся моменты.use strict
не пройдет.
z = e => {
x = e[0]
if (!x) return ''
n = x.length
for (l = n; l; l--)
for (s = 0; s <= n - l; s++)
if (r = x.substring(s, s + l), e.every(n => ~n.indexOf(r))) return r;
}
console.log(z(process.argv.slice(2)));
Мне бы хотелось иметь затенение для графика, который я делаю с использованием d3 и SVG, но у меня возникли проблемы с тенями, перекрывающими...
В общем имеется код для добавления значений из json в div блоки
Кто знает, как сделать так, чтобы один раз строка в блоке переносилась, а всё что не влезло во вторую скрывалось за многоточие? Я с таким не сталкивался