Remove Duplicates from Sorted Array - LeetCode

----- Условие ----- Требуется удалить дубликаты в отсортированном массиве на месте. А также вернуть длину массива с уникальными значениями.

----- Решение ----- Создаем currentInd = 0: индекс, указывающий на место в массиве для уникального элемента. Проходимся в цикле по массиву. Если текущий элемент массива не равен предыдущему, то элемент уникальный. Помещаем его в массив по индексу currentInd, инкрементируем currentInd.

Для получения нужной части массива (до currentInd) можно применить splice, но я использовал установку length (фишка JavaScript).

Сложность алгоритма по времени O(n), где n - длина массива, сложность по памяти O(1).

----- Код ----- /**  * @param {number[]} nums  * @return {number}  */ const removeDuplicates = function(nums) {   let currentInd = 0;

for (let i = 0; i < nums.length; i++) {     if (nums[i] !== nums[i - 1]) {       nums[currentInd] = nums[i];       currentInd++;     }   }

nums.length = currentInd;

return currentInd; };