pub fn sorted_squares(a: Vec<i32>) -> Vec<i32> { | |||||
let mut squares: Vec<i32> = a | |||||
.iter() | |||||
.map(|x| i32::pow(*x, 2)) | |||||
.collect(); | |||||
squares.sort(); | |||||
squares | |||||
} | |||||
pub fn main() { | |||||
println!("Expected: {:?}", vec![0, 1, 9, 16, 100]); | |||||
println!("Got: {:?}", sorted_squares(vec![-4, -1, 0, 3, 10])); | |||||
} |
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. | |||||
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. | |||||
#!/bin/bash | |||||
rustc main.rs | |||||
./main | |||||
rm main |