Мини-урок · перед практикой
Количество различных чисел
Множество хранит каждое значение один раз.
Как к ней подойти
Увидите, как множества помогают сравнивать группы без повторяющихся элементов.
Коротко о теме
Множество хранит каждый элемент один раз. Пересечение a & b оставляет общие элементы, разность a - b - только элементы a, а объединение a | b собирает обе группы. Если важен порядок вывода, отсортируйте результат отдельно.
Ключевая идея · Множество
Размер множества равен количеству различных чисел.
Проверьте перед запуском
- Числа нужно преобразовать в int, чтобы одинаковые числа с разным написанием считались равными.
После практики
Сравните свой подход
Ниже - готовое решение, другой способ, если он есть, и важные детали проверки.
Ваше принятое решение
Рекомендуемое решение: Множество
Размер множества равен количеству различных чисел.
print(len(set(map(int, input().split()))))
Время: O(n) в среднем. Память: O(n).
Другой способ: Сортировка
После сортировки считаем начала групп одинаковых значений.
a = sorted(map(int, input().split()))
print((1 if a else 0) + sum(a[i] != a[i - 1] for i in range(1, len(a))))
Время: O(n log n). Память: O(n).