leetcode977:有序数组的平方
有序数组的平方
给你一个按 非递减顺序 排序的整数数组 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;}
双指针,因为原来整数数组为递增,最大数一定在头尾
