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.