Description
Given an array of integers A
sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.
Example 1:
Input: [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Example 2:
Input: [-7,-3,2,3,11]
Output: [4,9,9,49,121]
Note:
- 1 <= A.length <= 10000
- -10000 <= A[i] <= 10000
A
is sorted in non-decreasing order.
Analyse
输入一个非递减的序列,输出这个序列的平方的非递减排序
主要考虑之前的负数平方后会使排序改变,先将整个序列求绝对值再排序,然后输出序列的平方
vector<int> sortedSquares(vector<int>& A) {
for(int i = 0; i < A.size(); i++)
{
A[i] = abs(A[i]);
}
sort(A.begin(), A.end());
for(int i = 0; i < A.size(); i++)
{
A[i] = A[i] * A[i] ;
}
return A;
}