class Solution {
public:
std::vector<int> sortedSquares(std::vector<int>& nums) {
for (int& i:nums) i = i*i;
sort(nums.begin(), nums.end());
return nums;
}
};
class Solution {
public:
std::vector<int> sortedSquares(std::vector<int>& nums) {
std::vector<int> res(nums.size(), 0);
int idx = nums.size()-1;
int left = 0, right = nums.size()-1;
// 等价于 for(;left <= right;){...}
while(left <= right){
if (nums[left]*nums[left] <= nums[right]*nums[right]){
res[idx--] = nums[right]*nums[right];
right--;
} else{
res[idx--] = nums[left]*nums[left];
left++;
}
}
return res;
}
};