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]。
challenge icon

进阶

平方和排序需要 O(n log n)。你能用 O(n) 完成吗?

重置代码
def sortedSquares(nums):
    # 在这里编写代码

测试 #1

测试 #2

参数

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

预期输出

[1, 4, 9, 36, 49]