Leecode 有序数组的平方 977

  1. 有序数组的平方
    给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。
    示例 1:
    输入:nums = [-4,-1,0,3,10]
    输出:[0,1,9,16,100]
    解释:平方后,数组变为 [16,1,0,9,100]
    排序后,数组变为 [0,1,9,16,100]

双指针解法

class Solution {
    public int[] sortedSquares(int[] nums) {    
        int[] result = new int[nums.length];
        int right = nums.length - 1;
        int index = nums.length - 1;
        int left = 0;
        while(left <= right){
            if(nums[right] * nums[right] >= nums[left] * nums[left]){
                result[index--] = nums[right] * nums[right];
                right--;
            }else{
                result[index--] = nums[left] * nums[left];
                left++;
            }
        }
        return result;
    }
}
上一篇:977.有序数组的平方


下一篇:力扣977题(有序数组的平方)