给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
示例 1:
输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]
示例 2:
输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]
代码
class Solution {public int[] sortedSquares(int[] A) {int n=A.length,l=0,r=n-1;//指向头尾int[] res=new int[n];for(int i=n-1;i>=0;i--){if(Math.abs(A[l])>A[r])//负数区的元素绝对值大{res[i]=A[l]*A[l];l++;}else {res[i]=A[r]*A[r];r--;}}return res;}
}