可以暴力寫,就是說将所有的元素平方後再排序。
雙指針:就是說将nums的數組的 i下标 從開始的位置開始周遊,然後再從 j下标 從結束的位置開始周遊,向中間周遊,
代碼随想錄
class Solution {
public:
vector<int> sortedSquares(vector<int>& nums) {
int mysize=nums.size()-1;
vector<int>ns(mysize+1,0);
int io=nums.size()-1;
int i=0;
int j=mysize;
while(1){
if(i>j || i>mysize || j<0 ){
break;
}
if((nums[j]*nums[j])>(nums[i]*nums[i])){
ns[io]=nums[j]*nums[j];
io--;
j--;
}else{
ns[io]=nums[i]*nums[i];
io--;
i++;
}
}
return ns;
}
};