1 题目描述
给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
2 示例描述
2.1 示例 1
输入:nums = [-4,-1,0,3,10]
输出:[0,1,9,16,100]
解释:平方后,数组变为 [16,1,0,9,100]
排序后,数组变为 [0,1,9,16,100]
2.2 示例 2
输入:nums = [-7,-3,2,3,11]
输出:[4,9,9,49,121]
3 解题提示
1 <= nums.length <= 10^4
-10^4 <= nums[i] <= 10^4
nums 已按非递减顺序排序
4 解题思路
先平方,后排序,简单暴力求解。
5 源码详解(C++)
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
for ( int i = 0 ; i < nums.size() ; i ++ )
{
nums[i] = nums[i] * nums[i] ;
}
sort( nums.begin() , nums.end() );
return nums ;
}
};