# [Leet Code] Squares of a Sorted Array

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

Problem:

Given an integer array `nums`

sorted in **non-decreasing** order, return *an array of **the squares of each number** sorted in non-decreasing order*.

**Example 1:**

**Input:** nums = [-4,-1,0,3,10]

**Output:** [0,1,9,16,100]

**Explanation:** After squaring, the array becomes [16,1,0,9,100].

After sorting, it becomes [0,1,9,16,100].

**Example 2:**

**Input:** nums = [-7,-3,2,3,11]

**Output:** [4,9,9,49,121]

**Constraints:**

`1 <= nums.length <= 104`

`-104 <= nums[i] <= 104`

`nums`

is sorted in**non-decreasing**order.

Solution:

`class Solution(object):`

def sortedSquares(self, nums):

"""

:type nums: List[int]

:rtype: List[int]

"""

start = 0

end = len(nums)-1

squares = []

while start <= end:

if abs(nums[start]) > abs(nums[end]):

squares.append(nums[start]**2)

start += 1

else:

squares.append(nums[end]**2)

end -= 1

return squares[::-1]