/*
 * [977] 有序数组的平方
 */

/**
 * @param {number[]} nums
 * @return {number[]}
 */
var sortedSquares = function (nums) {
  const len = nums.length;
  let left = 0;
  let right = len - 1;
  let pos = len - 1;
  let result = [];
  while (left <= right) {
    const leftVal = nums[left] ** 2;
    const rightVal = nums[right] ** 2;
    if (leftVal < rightVal) {
      result[pos] = rightVal;
      right--;
    } else {
      result[pos] = leftVal;
      left++;
    }
    pos--;
  }
  return result;
};
console.log(sortedSquares([-4, -1, 0, 3, 10]));