归并排序MergeSort
作者:互联网
1.有序数组的平方
双指针,选出大的放在新数组的最后。
class Solution {
public int[] sortedSquares(int[] nums) {
int n=nums.length;
int[] ans=new int[n];
int i=0,j=n-1,z=n-1;
while(i<=j&&z>=0){
if(nums[i]*nums[i]>=nums[j]*nums[j]){
ans[z]=nums[i]*nums[i];
i++;
z--;
}
else if(nums[i]*nums[i]<nums[j]*nums[j]){
ans[z]=nums[j]*nums[j];
j--;
z--;
}
}
return ans;
}
}
标签:MergeSort,归并,nums,int,sortedSquares,while,数组,ans,排序 来源: https://blog.csdn.net/m0_51467734/article/details/120428945