3013. Наибольшее произведение длины двух слов
Medium
2 решили
Дан массив строк
words. Выберите два разных элемента массива — слова на позициях i и j (i ≠ j; это два слота в списке, даже если тексты совпадают). Пара допустима, только если у этих слов нет ни одной общей буквы (регистр не важен — все буквы строчные; повтор буквы внутри одного слова не мешает). Среди всех допустимых пар найдите максимум произведения длин len(words[i]) * len(words[j]). Если ни одной такой пары нет (или в массиве меньше двух слов) — верните 0.Примеры:
Вход:
["abcw", "baz", "foo", "bar", "xtfn", "abcdef"]
Выход:
16
Объяснение: Берём два разных индекса, например words[0]="abcw" и words[4]="xtfn": общих букв нет, длины 4 и 4, произведение 16 — это максимум в примере.
Вход:
["a", "ab", "abc", "d", "cd", "bcd", "abcd"]
Выход:
4
Объяснение: Пара "a" и "abcd" недопустима — общая буква «a». Допустимы, например, "ab" и "cd" (разные индексы, буквы не пересекаются): 2·2=4.
Вход:
["a", "aa", "aaa", "aaaa"]
Выход:
0
Объяснение: Любые два разных индекса дают слова только из «a» — всегда есть общая буква → 0.
Ограничения:
1 <= words.length <= 1000
1 <= words[i].length <= 1000
words[i] состоит только из строчных английских букв
Решите эту задачу в браузере
Создайте бесплатный аккаунт — редактор Python, Java, JavaScript и Go, проверка на тестах за секунды.
Комментарии (0)
Зарегистрируйтесь или войдите, чтобы оставить комментарий
Пока нет комментариев. Будьте первым!