Определите, близки ли две строки
Сложность: 🟡 Средняя
ℹ️ Описание
Вам дано две строки. Верните true, если обе строки являются близкими, и false в противном случае.
Две строки считаются близкими, если одну из другой можно получить с помощью следующих операций.
Операция 1: Поменяйте местами любые два существующих символа (swap). Например, abcde -> aecdb (букву b поменяли местами с буквой e).
Операция 2: Преобразуйте каждое появление одного существующего символа в другой существующий символ и сделайте то же самое с другим символом. Например, aacabb -> bbcbaa (все буквы a превращаются в буквы b, а все буквы b превращаются в буквы a).
Вы можете использовать операции с любой строкой столько раз, сколько необходимо.
⚠️ Ограничения
— Длина каждого слова находится в диапазоне от 1 до 10^5
— Оба слова содержат только строчные буквы латинского алфавита
1️⃣ Пример
Входные данные: word1 = "abc", word2 = "bca"
Ответ: true
Объяснение
Вы можете получить word1 из word2 за 2 операции.
Примените операцию 1: «abc» -> «acb»
Примените операцию 1: «acb» -> «bca»
2️⃣ Пример
Входные данные: word1 = "a", word2 = "aa"
Ответ: false
Объяснение
Невозможно получить word2 из word1 или наоборот за любое количество операций.
3️⃣ Пример
Входные данные: word1 = "cabbba", word2 = "abbccc"
Ответ: true
Объяснение
Вы можете получить word1 из `word2 за 3 операции.
Примените операцию 1: «cabbba» -> «caabbb»
Примените операцию 2: «caabbb» -> «baaccc»
Примените операцию 2: «baaccc» -> «abbccc»
✅ Решение
Посмотреть решение в блоге
#strings #medium
Post #89
1.31K
- 🔥 6
- 😁 2
- ❤ 1
- 👏 1
- 🤡 1