977. Squares of a Sorted Array

该博客介绍了一个Python实现的算法,用于对已排序的整数数组进行平方操作,然后保持非递减排序。给定一个整数数组nums,算法首先计算每个元素的平方,然后使用双指针技术结合栈来实现排序。最终返回排序后的平方数组。
摘要由CSDN通过智能技术生成

Given an integer array nums sorted in non-decreasing order, return an array of the squares of each number sorted in non-decreasing order.

Example 1:

Input: nums = [-4,-1,0,3,10]
Output: [0,1,9,16,100]
Explanation: After squaring, the array becomes [16,1,0,9,100].
After sorting, it becomes [0,1,9,16,100].
Example 2:

Input: nums = [-7,-3,2,3,11]
Output: [4,9,9,49,121]

class Solution(object):
    def sortedSquares(self, nums):
        """
        :type nums: List[int]
        :rtype: List[int]
        """
        n = len(nums)
        stack = []
        l = 0
        r = n-1
        while l <= r:
            if abs(nums[l]) < abs(nums[r]):
                stack.append(pow(nums[r],2))
                r = r - 1
            else:
                stack.append(pow(nums[l],2))
                l = l + 1
            #倒过来
        return stack[::-1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值