题目
给一个升序的数组的每一项的平方排序
栗子如下:
输入: [-4, -2, -1 , 0 , 3 , 7]
输出:[0, 1, 4, 9, 16, 49]
案例如下:
// 插入排序
function insertSort(arr, num){
if(arr.length == 0){ // 空数组
arr.push(num);
return null;
}
for(let i = 0 ; i < arr.length ; i++){
if(num <= arr[i]){
arr.splice(i,0,num)
break;
}else if(i == arr.length -1){ // 最大的一个值
arr.push(num);
break;
}
}
}
// 输入升序数组
var sortedSquares = function(A) {
if(!A || A.length ==0){
return A;
}else{
let re = [];
for(let i = A.length - 1 ; i >= 0; i--){
if(A[i] >= 0){
re.unshift( Math.pow(A[i],2));
console.log(re);
}else{
insertSort(re, Math.pow(A[i],2));
}
}
return re;
}
};