Анонс #253. Третий лишний

Анонс #253. Третий лишний

UniLecs

Задача: Дан отсортированный массив, необходимо удалить дубликаты таким образом, чтобы дубликаты встречались не более 2х раз. Функция должна вернуть новый размер массива.

Условие: необходимо использовать только исходный массив и O(1) по памяти. "Удаление" дубликатов в данном случае обозначает перемещение их в конец массива, а функция возвращает размер массива без "удаленных" элементов.

Входные данные: размер массива от 1 до 10^5, элементы массива по модулю не превосходят 10^4. Массива отсортирован по возрастанию.

Вывод: размер обновленного массива

Пример: 

  1. Arr = [1, 1, 1, 2, 2, 3];
    Output: 5 (Arr = [1, 1, 2, 2, 3,  1])
  2. Arr = [0, 0, 1, 1, 1, 1, 2, 3, 3];
    Output: 7 (Arr = [0, 0, 1, 1, 2, 3, 3,  1,1])

Report Page