Ответ
Для проверки уникальности символов в строке можно использовать несколько подходов:
- Использование множества (set) - преобразуем строку в множество и сравниваем длины:
def is_unique(s: str) -> bool:
return len(s) == len(set(s))
- Сортировка и проверка соседей - если символы отсортировать, одинаковые будут рядом:
def is_unique(s: str) -> bool:
sorted_s = sorted(s)
for i in range(1, len(sorted_s)):
if sorted_s[i] == sorted_s[i-1]:
return False
return True
- Использование хэш-таблицы (подходит для больших строк):
def is_unique(s: str) -> bool:
chars = set()
for char in s:
if char in chars:
return False
chars.add(char)
return True
Первый вариант самый лаконичный и оптимальный для большинства случаев. Временная сложность O(n), так как преобразование в set и проверка длины занимают линейное время.