Leecode 有序数组的平方 977

2021/9/27 23:13:09

本文主要是介绍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;
    }
}


这篇关于Leecode 有序数组的平方 977的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程