暴力排序
每个数平方以后排个序
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int slow=0,fast=0;int n=nums.size();while(fast<n){nums[slow]=nums[fast]*nums[fast];fast++;slow++;}sort(nums.begin(),nums.end());return nums;}
};
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {for(int i=0;i<nums.size();i++){nums[i]*=nums[i];}sort(nums.begin(),nums.end());return nums;}
};
双指针
class Solution {
public:vector<int> sortedSquares(vector<int>& nums) {int n=nums.size()-1;vector<int>result(nums.size(),0);for(int i=0,j=nums.size()-1;i<=j;){if(nums[i]*nums[i]<nums[j]*nums[j]){result[n]=nums[j]*nums[j];n--;j--; }else{result[n]=nums[i]*nums[i];n--;i++;} }return result;}
};
定义与初始化的使用
1.函数内部需要存储一些数据时。
2.算法实现中构建数据结构。
3.从外部数据源读取数据时。
4.作为函数参数传递数据结构时
vector<int>result(nums.size,0):将nums.size()中的所有元素初始化为0。