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; };
· 10.05
А массив-то откуда к Вам приходит? Из бэка? Так он должен уже прийти без дубликатов на фронты уже, а фронты только отображают то, что им приходит.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 10.05
Это задачи с LeetCode. Они не чисто фронтовые, под разные языки. А массив с дубликатами на фронте может появиться как результат ввода данных пользователем или при работе с несколькими разными api.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 10.05
Может конечно, но избавляться от них все равно на окрестраторе, а не на фронте
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 10.05
Был кейс, когда для виджета amoCRM надо было собирать данные. Было бы круто, если бы наш бэк сделал мне один запрос, но нет) А у amo не все подходящие ограничения на фильтры. Тогда пришлось на фронте делать много запросов и соединять результат.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 10.05
Ну это в любом случае костыль, странно что беза ВТБ это позволила. В мою бытность аналитика ДБО в ВТБ, дали бы по рукам
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 10.05
Это не в ВТБ. Виджеты для amo я на прошлом месте работы писал
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 10.05
А, ну тогда всё сложилось))
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён