Java教程

977. 有序数组的平方

本文主要是介绍977. 有序数组的平方,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

理解

比较数组两端的元素,一定能比较出一个最大的数字

代码

class Solution {
    public int[] sortedSquares(int[] nums) {
        
        int left=0,
            right = nums.length - 1;
        int[] resultArr = new int[nums.length];
        int resIdx = nums.length-1;

        while (left <= right) {
            int leftVal = getPowDouble(nums[left]);
            int rightVal = getPowDouble(nums[right]);
            if (leftVal > rightVal) {
                resultArr[resIdx--] = leftVal;
                ++left;
            } else {
                resultArr[resIdx--] = rightVal;
                --right;
            }
        }
        return resultArr;
    }

    public int getPowDouble(int a) {
        return a*a;
    }
}
这篇关于977. 有序数组的平方的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!