values, и они уже отсортированы по неубыванию, поэтому одинаковые значения стоят подряд. Нужно убрать повторы прямо в этом массиве, без копии.
Пусть k — количество различных значений. Измените values так, чтобы первые k элементов были этими различными значениями в исходном порядке (то есть по возрастанию). Что останется после первых k элементов, неважно.
Верните k.
Попробуйте обойтись одним проходом и O(1) дополнительной памяти.values=[-2, -2, 0, 5, 5, 5] → 3
Различных значений три: -2, 0, 5. Функция возвращает 3, а массив начинается с [-2, 0, 5, …].
values=[7] → 1
Единственный элемент уже уникален: ответ 1.
values=[1, 2, 2, 3, 3, 3, 4] → 4
values отсортирован по неубываниюvalues=[-2, -2, 0, 5, 5, 5]
3
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 130 тестов на сервере, включая скрытые.