diff --git a/problems/0977.有序数组的平方.md b/problems/0977.有序数组的平方.md index b1e04c4e..6616ba8c 100644 --- a/problems/0977.有序数组的平方.md +++ b/problems/0977.有序数组的平方.md @@ -199,27 +199,26 @@ impl Solution { Javascript: ```Javascript /** - * @desc two pointers solution - * @link https://leetcode-cn.com/problems/squares-of-a-sorted-array/ - * @param nums Array e.g. [-4,-1,0,3,10] - * @return {array} e.g. [0,1,9,16,100] + * @param {number[]} nums + * @return {number[]} */ -const sortedSquares = function (nums) { - let res = [] - for (let i = 0, j = nums.length - 1; i <= j;) { - const left = Math.abs(nums[i]) - const right = Math.abs(nums[j]) - if (right > left) { - // push element to the front of the array - res.unshift(right * right) - j-- - } else { - res.unshift(left * left) - i++ - } +var sortedSquares = function(nums) { + let n = nums.length; + let res = new Array(n).fill(0); + let i = 0, j = n - 1, k = n - 1; + while (i <= j) { + let left = nums[i] * nums[i], + right = nums[j] * nums[j]; + if (left < right) { + res[k--] = right; + j--; + } else { + res[k--] = left; + i++; + } } - return res - } + return res; +}; ``` Swift: