Problem
给定一个按非递减顺序排列的整数数组 nums。
请返回一个新数组,其中包含 nums 中每个数字的平方,并且结果也要按非递减顺序排列。
例如:
nums = [-4, -1, 0, 3, 10]
每个数字平方后得到:
[16, 1, 0, 9, 100]
将这些平方值按非递减顺序排列后,应返回:
[0, 1, 9, 16, 100]
注意:虽然原数组已经有序,但负数平方后可能大于正数的平方,所以直接依次平方不一定能保持结果有序。
Examples
示例 1
Input: nums = [-4, -1, 0, 3, 10]
Output: [0, 1, 9, 16, 100]
解释:平方后得到 [16, 1, 0, 9, 100],按非递减顺序排列后为 [0, 1, 9, 16, 100]。
示例 2
Input: nums = [-7, -3, 2, 3, 11]
Output: [4, 9, 9, 49, 121]
解释:平方后得到 [49, 9, 4, 9, 121],按非递减顺序排列后为 [4, 9, 9, 49, 121]。
示例 3
Input: nums = [-2, -1]
Output: [1, 4]
解释:两个负数平方后分别为 4 和 1,因此结果为 [1, 4]。
Constraints
-
nums.length -
nums[i] nums按非递减顺序排列