977. 有序数组的平方

2020-07-27  本文已影响0人  编程小王子AAA

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;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读