“Squares of a Sorted Array” Ruby Solution Cheat Sheet.
The Squares of a Sorted Array List is in the easy category and is a good start for understanding more challenging algorithms using arrays as a data structure. I will focus on explaining a solution that works and not on the O time and space complexity.
Challenge: “Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.”LeetCode.
Note:
//Array data structure//Input sorted array smaller to a greater element//Return square of each element sorted smaller to greater element.
Example:
nums = [-3,-2,0,4,10]return [0,4,9,16,100]
Explanation:
Create a new empty array. Loop through the original array, square each element. Push the squared elements into the new array, then return a new sorted array from smaller to greater.
1.Create a new array(non destructive )
new_array = []
2.Loop through the original array
nums.each do |number|
3. Square each element
number**2
4.Push the squared number to the new array
new_array << number**2
5.Return sorted array using sort method
new_array.sort{ |a,b| a <=> b}
Solution:
def sorted_squares(nums)new_array = []nums.each {|number| new_array << number**2}new_array.sort{ |a,b| a <=> b}end