Написать функцию, которая проверяет, является ли одна строка перестановкой другой.

Проверка, является ли одна строка перестановкой другой

Данная функция is_permutation проверяет, можно ли получить одну строку из другой путем перестановок символов. Функция считает количество каждого символа в каждой строке и сравнивает эти подсчеты.

def is_permutation(str1, str2):
    if len(str1) != len(str2):
        return False
    count1 = {}
    count2 = {}
    for char in str1:
        if char in count1:
            count1[char] += 1
        else:
            count1[char] = 1
    for char in str2:
        if char in count2:
            count2[char] += 1
        else:
            count2[char] = 1
    return count1 == count2

# Пример использования:
print(is_permutation("abc", "bca")) # Выведет True
print(is_permutation("abc", "def")) # Выведет False

Этот подход эффективно проверяет перестановки за линейное время, что делает его приемлемым для строк средней длины.

Категория: Практические упражнения Python | Добавил: Admin (03.05.2024)
Просмотров: 36 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: