977. 有序数组的平方
c++,两种方法
class Solution {
public:
vector<int> sortedSquares(vector<int>& A) {
int n = A.size();
vector<int> ans;
for(int i=0;i<n;++i){
ans.push_back(A[i]*A[i]);
}
sort(ans.begin(),ans.end());
return ans;
// 有序,所以可以双指针前后比较
// vector<int> ans(n);
// for (int i = 0, j = n - 1, pos = n - 1; i <= j;) {
// if (A[i] * A[i] > A[j] * A[j]) {
// ans[pos] = A[i] * A[i];
// ++i;
// }
// else {
// ans[pos] = A[j] * A[j];
// --j;
// }
// --pos;
// }
// return ans;
}
};
python
class Solution:
def sortedSquares(self, nums: List[int]) -> List[int]:
res=[]
for num in nums:
res.append(num*num)
res.sort()
return res