Код 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
- Самые большие квадраты - по краям массива.
- Заполняй результат с конца.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.