问题:给定一个已排序递增数组,要求返回每个数的平方形成的新数组,要求也是递增
[-4,-1,0,3,10]
难点:如何排序
方法:每次取绝对值最大的数去求平方,再放入新数组
var sortedSquares = function(nums) {
let res = []
let left = 0
let right = nums.length-1
while(left<=right){
if(Math.abs(nums[left])>Math.abs(nums[right])){
res.unshift(nums[left]*nums[left])
left++
}else{
res.unshift(nums[right]*nums[right])
right--
}
}
return res
};