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