У меня есть проблема по этому поводу:
Объект показывает, что, учитывая отсортированный массив, удалите дубликаты на месте так, чтобы каждый элемент появлялся только один раз и возвращал новую длину.
Не выделяйте дополнительное пространство для другого массива, вы должны сделать это на месте с постоянной памятью. Например,
Заданные значения входного массива = [1,1,2],
Ваша функция должна возвращать length = 2, причем первые два элемента чисел равны 1 и 2 соответственно. Неважно, что вы оставите после новой длины.
Я использую HashSet для решения этого вопроса, но результат всегда показывал [1,1]. Я не мог понять, может кто-нибудь помочь мне узнать, в чем проблема?
Мой код:
class Solution {
public int removeDuplicates(int[] nums) {
if (nums.length == 0) return 0;
Set<Integer> numset = new HashSet<>();
for(int i:nums){
numset.add(i);
}
return numset.size();
}
}
Ваш вклад
[1,1,2]
Ваш ответ
[1,1]
Ожидаемый ответ
[1,2]