977. Squares of a Sorted Array

202406272003
tags: #two-pointers

var sortedSquares = function(nums) {
	const res = [];
	let start = 0;
	let end = nums.length - 1;
	while (start < end) {
		const leftProduct = nums[start] * nums[start];
		const rightProduct = nums[end] * nums[end];
		if (leftProduct > rightProduct) {
			res.unshift(leftProduct);
			start += 1;
		} else {
			res.unshift(rightProduct);
			end -= 1;
		}
	}
	res.unshift(nums[start] * nums[start]);
	return res;
};

Reference

https://leetcode.com/problems/squares-of-a-sorted-array/