其他分享
首页 > 其他分享> > Leecode 有序数组的平方 977

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,平方,right,nums,int,Leecode,result,数组,left
来源: https://blog.csdn.net/qq_38075852/article/details/120519417