Para cada par adjacente de palavras, encontre o final mais longo da primeira palavra que corresponda ao início da próxima. Una as palavras escrevendo essa sobreposição uma única vez. Retorne a string unida e o menor comprimento de sobreposição encontrado entre qualquer par.
join(["oven", "envier", "erase", "serious"]) ➞ ["ovenvieraserious", "2"]
join(["move", "over", "very"]) ➞ ["movery", "3"]
join(["to", "ops", "psy", "syllable"]) ➞ ["topsyllable", "1"]
// "to" and "ops" share "o" (1)
// "ops" and "psy" share "ps" (2)
// "psy" and "syllable" share "sy" (2)
// the minimum overlap is 1
join(["aaa", "bbb", "ccc", "ddd"]) ➞ ["aaabbbcccddd", "0"]Mais especificamente, observe a sobreposição entre as letras finais das palavras anteriores e as letras iniciais da próxima palavra.