算法

977. 有序数组的平方

2021-09-09  本文已影响0人  crazyfox

//977. 有序数组的平方
https://leetcode-cn.com/problems/squares-of-a-sorted-array/
思路:双指针,l,r
当l<r时,遍历头尾,绝对值大的加入新数组的后面

class Solution {
    public int[] sortedSquares(int[] nums) {
        int l = 0;
        int r = nums.length-1;
        int index = nums.length-1;
        int[] returnnums = new int[nums.length]; 
        
        while(l<=r){
            int lnum = nums[l];
            if(lnum<0){
                lnum = -lnum;
            }
            int rnum = nums[r];
            if(rnum<0){
                rnum = -rnum;
            }
            if(lnum<rnum){
                returnnums[index--] = rnum*rnum;
                r--;
            }else{
                returnnums[index--] = lnum*lnum;
                l++;
            }
        }
        return returnnums;
    }
}
上一篇 下一篇

猜你喜欢

热点阅读