977. 有序数组的平方
给定一个按非递减顺序排序的整数数组 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[] res=new int[A.length];
for(int left=0,right=A.length-1,index=right;left<=right;){
int powLeft=A[left]*A[left];
int powRight=A[right]*A[right];
if(powLeft>powRight){
left++;
res[index--]=powLeft;
}else{
right--;
res[index--]=powRight;
}
}
return res;
}
}
网友评论