Код Middle Два указателя обновлено

Квадраты отсортированного массива

Условие

Массив отсортирован по возрастанию и может содержать отрицательные. Верни отсортированные квадраты за один проход.

Примеры

sortedSquares([-4, -1, 0, 3, 10]) // [0, 1, 9, 16, 100]
sortedSquares([-7, -3, 2, 3, 11]) // [4, 9, 9, 49, 121]
sortedSquares([]) // []

Как подойти

Сортировка квадратов дала бы O(n log n). Наблюдение: максимум квадрата всегда на одном из концов, поэтому два указателя навстречу и заполнение результата с конца дают O(n).

Подсказки: 2
  1. Самые большие квадраты - по краям массива.
  2. Заполняй результат с конца.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.