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