Algorithm Practice: Squares of a Sorted Array

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].
Input: nums = [-7,-3,2,3,11]
Output: [4,9,9,49,121]
  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • nums is sorted in non-decreasing order.
var sortedSquares = function(nums) {
let arr=[]
let left = 0
let right = nums.length -1

for(let i = nums.length -1 ; i >= 0 ;i--){
let square
if(Math.abs(nums[left]) < Math.abs(nums[right])){
square = nums[right]
right --
} else{
square = nums[left]
left++
}
arr[i] = square* square
}
return arr
//Brute force // for(let i = 0; i < nums.length ; i++){
// arr[i] = nums[i] * nums[i]
// }
// return arr.sort((a,b) => a-b)
};

--

--

--

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Let’s Build A Web App! Week 28 of my 30 week web dev journey

End to End Unit Testing for .NET 6 Web API

Let us Enter the NAT Gateway

TALETE CODE 450,958% BEST APY, BNB REWARDS, DOUBLE BUSD REWARDS, TALETE BANK, COMMUNITY & MORE

Creating a testJar with Kotlin and Gradle

Visitor design pattern in iOS and Swift universe

Code Smell 81 — Result

Make your own APNS pusher 🔔

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
SunJet Liu

SunJet Liu

More from Medium

Tips and tricks in AI/ML with python to avoid data leakage

What is breaking change (service version)

Matrix Spiral in JS