题目描述:
给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100]
示例 2: 输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]
提示:
1. 1 <= A.length <= 10000
2. -10000 <= A[i] <= 10000
3. A 已按非递减顺序排序。
简洁思路:
首先依次遍历数组中的每一项,求取每一项的平方保存到数组A中,然后对A中的元素进行排序。
代码如下:
class Solution {
public:
vector<int> sortedSquares(vector<int>& A) {
for(int i=0; i<A.size(); i++)
{
A[i] = A[i]*A[i];
}
sort(A.begin(), A.end());
return A;
}
};