Мини-урок · перед практикой

Количество различных чисел

Множество хранит каждое значение один раз.

Как к ней подойти

Увидите, как множества помогают сравнивать группы без повторяющихся элементов.

Коротко о теме

Множество хранит каждый элемент один раз. Пересечение 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).