Проблема изоморфной строки с решением JavaScript

Вот наши цели:

  1. Определите, что означает изоморфный
  2. Посмотрите на контрольный вопрос по кодированию
  3. Решить с помощью JavaScript

Начнем!

Возможно, вы слышали о термине изоморфизм на уроках математики или читали его в какой-нибудь документации по JavaScript. Возможно, когда вы услышали этот термин, у вас была такая реакция…

Если вы так отреагировали, это вполне понятно. Ниже приведено упрощенное определение и математическое определение.

Изоморфный: (прил.) соответствующий или подобный по форме и отношениям.

Изоморфизм: в математике изоморфизм — это гомоморфизм или морфизм, который можно обратить обратным морфизмом. Два математических объекта изоморфны, если между ними существует изоморфизм. Автоморфизм — это изоморфизм, источник и цель которого совпадают. источник(Википедия)

Вам может быть интересно, как это относится к строкам? Что ж, когда вы видите это как проблему кодирования, ключ заключается в том, чтобы определить, имеют ли входные строки одинаковую длину. Помните, чтобы быть изоморфными, строки должны иметь соответствующие точки. Другими словами, буквы одного слова можно переназначить, чтобы получить второе слово. Переназначение буквы означает замену всех ее вхождений другой буквой, при этом порядок букв остается неизменным.

Соревнование по кодированию в Leetcode

Основываясь на том, что мы знаем, должно быть легче понять, почему примеры 1 и 3 верны, а пример 2 ложен. Однако на всякий случай не очевидно, почему пример 2 неверен — давайте поработаем над этим вместе.

Строка «FOO» имеет ту же длину, что и «BAR», но можете ли вы заметить ключевое отличие этого примера от остальных? Разница в частоте символов. В «FOO» есть повторяющиеся буквы, тогда как в «BAR» каждая буква встречается по одному разу. Из-за этого мы не можем переназначить буквы.

Покажите мне код

Удачного кодирования!!