Merge pull request #1610 from hua-qi/master

0977.有序数组的平方-typescript版本-优化写法
This commit is contained in:
程序员Carl
2022-09-02 09:38:19 +08:00
committed by GitHub

View File

@ -239,18 +239,24 @@ Typescript
```typescript ```typescript
function sortedSquares(nums: number[]): number[] { function sortedSquares(nums: number[]): number[] {
let left: number = 0, right: number = nums.length - 1; const ans: number[] = [];
let resArr: number[] = new Array(nums.length); let left = 0,
let resArrIndex: number = resArr.length - 1; right = nums.length - 1;
while (left <= right) { while (left <= right) {
if (Math.abs(nums[left]) < Math.abs(nums[right])) { // 右侧的元素不需要取绝对值nums 为非递减排序的整数数组
resArr[resArrIndex] = nums[right--] ** 2; // 在同为负数的情况下,左侧的平方值一定大于右侧的平方值
if (Math.abs(nums[left]) > nums[right]) {
// 使用 Array.prototype.unshift() 直接在数组的首项插入当前最大值
ans.unshift(nums[left] ** 2);
left++;
} else { } else {
resArr[resArrIndex] = nums[left++] ** 2; ans.unshift(nums[right] ** 2);
right--;
} }
resArrIndex--;
} }
return resArr;
return ans;
}; };
``` ```