1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
class Solution { public int[] sortedSquares(int[] A) { int n = A.length; for(int i=0;i<A.length;i++){ if (A[i]>=0){ n=i; break; } } int i = n-1; int j = n; int l = 0; int[] f =new int[A.length]; while(i>=0 & j<A.length){ if (-A[i]<A[j]){ f[l] = A[i]*A[i]; i--; }else { f[l] = A[j]*A[j]; j++; } l++; } while(i>=0){ f[l] = A[i]*A[i]; i--; l++; } while(j<A.length){ f[l] = A[j]*A[j]; j++; l++; } return f; } }
|
近期评论