Дан целочисленный массив nums и целое число val , удалите все вхождения val в numsна месте. Порядок элементов может быть изменен. Затем верните количество элементов вnums , которые не равныval .
Учитывайте количество элементов в nums , которые не равны val , равное k . Чтобы задача была принята, вам нужно сделать следующее:
Измените массив nums так, чтобы первые k элементов nums содержали элементы, которые не равны val. Остальные элементы nums не важны, как и размер nums.
Верните k.
Пример 1:
Вход:nums = [3,2,2,3], val = 3
Выход:2, nums = [2,2,_,_]
Объяснение: Ваша функция должна вернуть k = 2, причем первые два элемента nums равны 2. Неважно, что вы оставите за возвращенным k (поэтому они подчеркнуты).
Пример 2:
Вход:nums = [0,1,2,2,3,0,4,2], val = 2
Выход:5, nums = [0,1,4,0,3,_,_,_]
Объяснение: Ваша функция должна вернуть k = 5, причем первые пять элементов nums содержат 0, 0, 1, 3 и 4. Обратите внимание, что пять элементов могут быть возвращены в любом порядке. Неважно, что вы оставите за возвращенным k (поэтому они подчеркнуты).
Примеры
Пример 1
int[] nums = [...]; // Input array
int val = ...; // Value to remove
int[] expectedNums = [...]; // The expected answer with correct length.
// It is sorted with no values equaling val.
int k = removeElement(nums, val); // Calls your implementation
assert k == expectedNums.length;
sort(nums, 0, k); // Sort the first k elements of nums
for (int i = 0; i < actualLength; i++) {
assert nums[i] == expectedNums[i];
}