""" Given an integer array sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order. """ def sortedSquares(nums): n = len(nums) start, end = 0, n - 1 result = [0] * n index = n - 1 while end > -1 and index > -1: if abs(nums[start]) > abs(nums[end]): result[index] = nums[start] ** 2 start += 1 else: result[index] = nums[end] ** 2 end -= 1 index -= 1 return result print(sortedSquares([-4, -3, -2, 0, 1, 2, 5, 10]))