977. Squares of a Sorted Array - Easy
前往題目
想法
- 暴力解也只要
n + nlogn
he
思路
- 雙指針,從大排到小,因為這樣左右指針可以在最左和最右
Code
class Solution {
public int[] sortedSquares(int[] nums) {
int[] res = new int[nums.length];
int l = 0, r = nums.length - 1;
int resP = res.length - 1;
// Two pointers
while (l <= r) {
int lSquare = nums[l] * nums[l];
int rSquare = nums[r] * nums[r];
// left pointer is larger
if (lSquare >= rSquare) {
res[resP] = lSquare;
++l;
} else if (lSquare < rSquare) {
res[resP] = rSquare;
--r;
}
// Move the pointer
--resP;
}
return res;
}
}
977. Squares of a Sorted Array - Easy
https://f88083.github.io/2024/09/25/977-Squares-of-a-Sorted-Array-Easy/