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])

猜你喜欢

转载自www.cnblogs.com/lanpang9661/p/12765150.html