Сложность: easy
Учитывая целочисленный массив
nums и целочисленное значение val, удалите все вхождения val в nums на месте. Затем верните количество элементов, которые не равны val. Пример:
Input: nums = [3,2,2,3], val = 3
Output: 2, nums = [2,2,_]
👨💻 Алгоритм:
1⃣Использовать указатель
k для хранения позиции следующего валидного элемента. 2⃣Перебирать массив, копируя все элементы, не равные
val, на позиции k. 3⃣Вернуть
k как количество оставшихся элементов. 😎 Решение:
function removeElement(&$nums, $val) {
$k = 0;
for ($i = 0; $i < count($nums); $i++) {
if ($nums[$i] != $val) {
$nums[$k++] = $nums[$i];
}
}
return $k;
}Ставь 👍 и забирай 📚 Базу знаний