## DEV Community is a community of 638,459 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

# Data Structures & Algorithms using Rust: Squares of a Sorted Array

Sivakumar Updated on ・1 min read

As part of Data Structures and Algorithms implementation using Rust, today we will explore `Squares of a Sorted Array` problem.

###### Problem Statement
``````Given an array of integers A sorted in non-decreasing order, return an array of the squares of each number, also in sorted non-decreasing order.
``````
###### Instructions
``````Example 1:

Input: [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Example 2:

Input: [-7,-3,2,3,11]
Output: [4,9,9,49,121]

Note:

1 <= A.length <= 10000
-10000 <= A[i] <= 10000
A is sorted in non-decreasing order.
``````
###### Solution

Here is my solution to above problem

``````impl Solution {
pub fn sorted_squares(a: Vec<i32>) -> Vec<i32> {
let mut ret_arr: Vec<i32> = a.iter().map(|x| x * x).collect();
ret_arr.sort_unstable();
ret_arr
}
}
``````