无尽算法之 有序数组的平方

给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。

示例 1:

输入:[-4,-1,0,3,10]
输出:[0,1,9,16,100]

示例 2:

输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]

提示:

1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A 已按非递减顺序排序。

思路:

直接原地平方, 然后排序.

题解:

class Solution {
    public int[] sortedSquares(int[] A) {
        for(int i=0; i<A.length; i++){
            A[i]*=A[i];        
        }
        // int temp = 0;
        // for(int i=A.length-1; i>=0; i--){
        //     for(int j=0; j<=i-1; j++){
        //         if(A[j]>A[j+1]){
        //             temp=A[j];
        //             A[j]=A[j+1];
        //             A[j+1]=temp;
        //         }
        //     }
        // }
        Arrays.sort(A);
        return A;
    }
}
发布了152 篇原创文章 · 获赞 274 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/104035714