words. Каждая строка состоит из строчных латинских букв, и ни одна буква не повторяется внутри строки, поэтому строку можно считать множеством букв.
Две строки связаны, если множество букв одной получается из множества букв другой ровно одним действием:
- добавить одну букву;
- удалить одну букву;
- заменить одну букву на любую другую или на неё же.
Связи объединяют строки в кластеры: две строки попадают в один кластер, если от одной до другой можно дойти по цепочке связей. Каждый элемент массива, включая повторы, считается отдельно.
Верните [число кластеров, размер самого большого кластера].words=['ab', 'abc', 'xy', 'xz', 'q'] → [3, 2]
«ab» → «abc» добавлением буквы; «xy» → «xz» заменой y на z; «q» ни с кем не связана. Три группы, самая большая из двух слов.
words=['ba', 'ab', 'cd'] → [2, 2]
«ba» и «ab» — одно и то же множество букв (замена буквы на саму себя), «cd» отличается от них двумя буквами.
words=['k', 'm', 'mn', 'mno', 'pq'] → [2, 4]
«k» → «m» заменой, «m» → «mn» → «mno» добавлением: группа из четырёх слов; «pq» отдельно.
words=['ab', 'abc', 'xy', 'xz', 'q']
[3, 2]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 66 тестов на сервере, включая скрытые.