题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/description/

核心思想:双指针法

最大值肯定在左边两边,不会在中间

class Solution(object):
    def sortedSquares(self, nums):
        l,r,i = 0,len(nums)-1,len(nums)-1
        res = [float('inf')]*len(nums)

        while l<=r:
            if nums[l] ** 2 < nums[r] ** 2:
                res[i] = nums[r] ** 2
                r -= 1
            else:
                res[i] = nums[l] ** 2
                l += 1
            i -= 1

        return res