今天打卡一题,后面两题明天补上
977.有序数组的平方
https://leetcode.cn/problems/squares-of-a-sorted-array/
暴力解法:
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
//int faster = 0;
int slower = 0;
for(int faster =0;faster<nums.size();faster++,slower++)
{
nums[slower]=nums[faster]*nums[faster];
}
sort(nums.begin(),nums.end());
return nums;
}
};
双指针法:
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
vector<int> result(nums.size(),0);
int k = nums.size()-1;
for(int i = 0; i < nums.size();i++)
{
nums[i] = nums[i] * nums[i];
}
for(int i = 0, j = nums.size()-1; i<= j;)
{
if(nums[i] > nums[j])
{
result[ k-- ] = nums[i];
i++;
}
else
{
result[ k-- ] = nums[j];
j--;
}
}
return result;
}
};