> For the complete documentation index, see [llms.txt](https://chiragjain.gitbook.io/neetcode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://chiragjain.gitbook.io/neetcode/977-squares-of-a-sorted-array.md).

# 977. Squares of a Sorted Array

## Easy

***

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

&#x20;

**Example 1:**

<pre><code>Input: nums = [-4,-1,0,3,10]
<strong>Output:
</strong> [0,1,9,16,100]
<strong>Explanation:
</strong> After squaring, the array becomes [16,1,0,9,100].
After sorting, it becomes [0,1,9,16,100].
</code></pre>

**Example 2:**

<pre><code>Input: nums = [-7,-3,2,3,11]
<strong>Output:
</strong> [4,9,9,49,121]
</code></pre>

&#x20;

**Constraints:**

* `1 <= nums.length <= 104`
* `-104 <= nums[i] <= 104`
* `nums` is sorted in **non-decreasing** order.

&#x20;

**Follow up:** Squaring each element and sorting the new array is very trivial, could you find an `O(n)` solution using a different approach?
