Given an array of integers
A
sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.
Example 1:
Input: [-4,-1,0,3,10] Output: [0,1,9,16,100]
Example 2:
Input: [-7,-3,2,3,11] Output: [4,9,9,49,121]
Note:
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A
is sorted in non-decreasing order.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | class Solution { public: vector<int> sortedSquares(vector<int>& A) { int n = A.size(); vector<int> ret(n); int l = 0, r = n-1, i = n-1; while(l<=r){ if(abs(A[l])>=abs(A[r])){ ret[i] = A[l]*A[l]; l++; }else{ ret[i] = A[r]*A[r]; r--; } i--; } return ret; } }; |
No comments:
Post a Comment