0%

977. Squares of a Sorted Array

two pointer O(n) time O(1) space
360. Sort Transformed Array不完全一样

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
vector<int> sortedSquares(vector<int>& A) {
int n = size(A);
vector<int> res(n);
for (int l = 0, r = n - 1, i = n - 1; l <= r; --i) {
if (abs(A[l]) < abs(A[r])) {
res[i] = A[r] * A[r];
--r;
} else {
res[i] = A[l] * A[l];
++l;
}
}
return res;
}
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public:
vector<int> sortedSquares(vector<int>& A) {
vector<int> res;
int n = A.size();
for (int l = 0, r = n - 1; l <= r;) {
if (abs(A[l]) < abs(A[r])) {
res.push_back(A[r] * A[r]);
--r;
} else {
res.push_back(A[l] * A[l]);
++l;
}
}
return vector<int>(rbegin(res), rend(res));
}
};