Количество различных чисел
Вы решили задачу. Теперь можно сравнить подходы.
Множество хранит каждое значение один раз.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Множество
Размер множества равен количеству различных чисел.
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).
На что обратить внимание
- Числа нужно преобразовать в int, чтобы одинаковые числа с разным написанием считались равными.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.