前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【python-leetcode977-双指针】有序数组的平方

【python-leetcode977-双指针】有序数组的平方

作者头像
西西嘛呦
发布2020-08-26 16:06:22
5120
发布2020-08-26 16:06:22
举报

问题描述:

给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。

示例 1:

输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100] 示例 2:

输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]

提示:

1 <= A.length <= 10000 -10000 <= A[i] <= 10000 A 已按非递减顺序排序。

代码语言:javascript
复制
class Solution:
    def sortedSquares(self, A: List[int]) -> List[int]:
        #左指针
        left = 0
        #右指针
        right = len(A)-1
        #用于存储结果
        res =  [0 for _ in range(len(A))]
        #从右至左遍历数组
        for i in range(len(A)-1,-1,-1):
            #计算左指针指向值得平方
            l = A[left]*A[left]
            #计算右指针指向值得平方
            r = A[right]*A[right]
            #如果l<=r
            if l <= r:
                #将res的第i位更新为r
                res[i] = r
                #因为是非递键排序的,所以剩下的值都会比该值小了,此时右指针减一
                right -= 1
            else:
                res[i] = l
                left += 1
        return res

结果:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档