给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
!!!自己写的冒泡排序太耗时间
class Solution {
public int[] sortedSquares(int[] nums) {
int right =nums.length;
int left =0;
int a=0,b=0;
int temp=0;
for(a=0;a<right;a++){
nums[a]=nums[a]*nums[a];
}
for(a=0;a<right;a++){
for(b=0;b<right-1;b++){
if(nums[b]>nums[b+1]){
temp=nums[b+1];
nums[b+1]=nums[b];
nums[b]=temp;
}
}
}
return nums;
}
}
示例代码:
class Solution {
public int[] sortedSquares(int[] nums) {
int left = 0;
int right = nums.length - 1;
int[] result = new int[nums.length];
for (int i = nums.length - 1; i >= 0; i--) {
if (Math.abs(nums[left]) > Math.abs(nums[right])) {
result[i] = nums[left] * nums[left];
left++;
} else {
result[i] = nums[right] * nums[right];
right--;
}
}
return result;
}
}