Menu
CoddyTech

Squares of a Sorted Array

Дан массив целых чисел nums, отсортированный в неубывающем порядке. В нём могут быть отрицательные значения. Возведите каждое значение в квадрат и верните квадраты в виде нового массива, также отсортированного в неубывающем порядке.

Функция

sortedSquares(nums: integer-array) → integer-array
numsinteger-array
отсортированный массив целых чисел, отрицательные числа допускаются
Возвращаетinteger-array
квадраты каждого значения, отсортированные в порядке неубывания

Ограничения

  • 1 ≤ nums.length ≤ 4000
  • -104 ≤ nums[i] ≤ 104
  • nums отсортирован по неубыванию.

Примеры

Ввод
nums = [-6, -2, 1, 3, 7]
Вывод
[1, 4, 9, 36, 49]
Пояснение
Квадраты в исходном порядке — 36, 4, 1, 9 и 49. Отрицательные значения -6 и -2 дают большие квадраты, поэтому при сортировке 36 перемещается ближе к концу: [1, 4, 9, 36, 49].

lock icon+14 скрытых тестов при отправке

challenge icon

Дополнительный вопрос

Возведение в квадрат и сортировка занимают O(n log n). Сможешь ли ты сделать это за O(n)?

Сбросить код
def sortedSquares(nums):
    # Напишите код здесь
Тестовые случаи

Случай 1

Случай 2

Ввод

nums = [-6, -2, 1, 3, 7]

Ожидается

[1, 4, 9, 36, 49]