给你一个按 非递减顺序 排序的整数数组 nums
,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
public class SortedSquares { public static void main(String[] args) { int[] arr = {-4,-1,0,3,10}; int[] ints = sortedSquares(arr); String s = Arrays.toString(ints); System.out.println("s = " + s); } public static int[] sortedSquares(int[] nums) { int[] arr = new int[nums.length]; int last = nums.length - 1; int j = last; for (int i = 0; i <= j;) { if (nums[i] * nums[i] >= nums[j] * nums[j]) { arr[last] = nums[i] * nums[i]; i++; } else { arr[last] = nums[j] * nums[j]; j--; } last--; } return arr; } }