From f16d590a7f2015fcee1854fb906a220091c58135 Mon Sep 17 00:00:00 2001 From: Ysc Date: Sun, 13 Jun 2021 18:40:02 +0900 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20977.=E6=9C=89=E5=BA=8F?= =?UTF-8?q?=E6=95=B0=E7=BB=84=E7=9A=84=E5=B9=B3=E6=96=B9=20Javascript=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- problems/0977.有序数组的平方.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/problems/0977.有序数组的平方.md b/problems/0977.有序数组的平方.md index d2e1f950..0f9007d7 100644 --- a/problems/0977.有序数组的平方.md +++ b/problems/0977.有序数组的平方.md @@ -198,6 +198,31 @@ 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] + */ +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++ + } + } + return res + } +``` ----------------------- * 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)