int* sortedSquares(int* nums, int numsSize, int* returnSize) { int* res=malloc(numsSize*sizeof(int)); int index=numsSize-1; int left=0; int right=numsSize-1; while(left<=right){ res[index--]=nums[left]*nums[left]>=nums[right]*nums[right]?nums[left]*nums[left++]:nums[right]*nums[right--]; }
*returnSize=numsSize; return res; }
Java代码
1 2 3 4 5 6 7 8 9 10
public int[] sortedSquares(int[] nums) { int[] result=new int[nums.length]; int index=nums.length-1; int left=0; int right=nums.length-1; while (left<=right){ result[index--]=(int)Math.pow(nums[left],2)>(int)Math.pow(nums[right],2)?(int)Math.pow(nums[left++],2):(int)Math.pow(nums[right--],2); } return result; }