977.有序数组的平方
2020-04-24
有序数组的平方
给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。
题解:
思路1:双指针
从两头到中间依次找到绝对值大的那一项
将此项的平分插入到结果数组的最前方
/** * @param {number[]} A * @return {number[]} */ var sortedSquares = function (A) { let i = 0, j = A.length - 1, result = []; while (i <= j) { if (Math.abs(A[i]) < Math.abs(A[j])) { result.unshift(A[j] * A[j]); j--; continue; } else { result.unshift(A[i] * A[i]); i++; continue; } } return result; }; sortedSquares([-4, -1, 0, 3, 10])