有序数组的平方
给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
public int[] sortedSquares(int[] nums) {
int start = 0;
int end = nums.length-1;
int[] arr = new int[nums.length];
for (int i = arr.length-1; i >= 0 ; i--) {
if(nums[end] > -nums[start]){
arr[i] = nums[end]*nums[end];
end--;
}else{
arr[i] = nums[start]*nums[start];
start++;
}
}
return arr;
}
双指针,因为原来整数数组为递增,最大数一定在头尾