题目描述 given an array of integers a sorted in non-decreasing order, ret rn an array of the sq ares of each n mber, also in sorted non-decreasing order. 简而言之:将一个非递减序列,按照元素乘方的大小排序.返回乘方的非递减序列 example 1: inp t: [-4,-1,0,3,10] o tp t: [0,1,9,16,100] example 2: inp t: [-7,-3,2,3,11] o tp t: [4,9,9,49,121] note: 1 = a.length =  - = a[i] =  a is sorted in non-decreasing order. 解题思路 二次函数,中间低,两端高,从两端开始进行比较. 绝对值大的那个也是全局最大的.其乘方放在返回数组的最后一位,依次类推. 题解 p blic int[] sortedsq ares(int[] a) { int n = a.length;  比较两端的绝对值 i 左 j右 int i=0,j=n-1; int[] res = new int[n];  k表示放回数组的第k个数找到.  这种左右开弓的方法 跟一轮快排还是很像. for (int k = n-1; k=0; k--) {  最大的放在后边 if (math.abs(a[i])  math.abs(a[j])){ res[k] = a[i]*a[i]; i;