Easy
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.
题目大意:给出一个非降序排列的数组,求出数组中各自数字的平方,并且非降序排列。
对数组中的数字求平方后,复数的平方会变成正数,可能会导致数组的排序不再非降序,因此可对数组中数字求平方后进行升序排序。
代码如下:
class Solution { public: vector<int> sortedSquares(vector<int>& A) { for(int i=0;i<A.size();++i){ A[i]*=A[i]; } sort(A.begin(),A.end()); return A; } };