有序数组的平方(LeetCode)

题目

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

解题

以下算法时间复杂度为

python 复制代码
def sortedSquares(nums):
    n = len(nums)
    result = [0] * n  # 创建一个结果数组,长度与 nums 相同
    left, right = 0, n - 1  # 初始化左右指针
    position = n - 1  # 初始化结果数组的插入位置

    while left <= right:
        left_square = nums[left] ** 2
        right_square = nums[right] ** 2
        if left_square > right_square:
            result[position] = left_square
            left += 1
        else:
            result[position] = right_square
            right -= 1
        position -= 1

    return result


nums = [-4, -1, 0, 3, 10]
print(sortedSquares(nums))  # 输出: [0, 1, 9, 16, 100]

nums = [-7, -3, 2, 3, 11]
print(sortedSquares(nums))  # 输出: [4, 9, 9, 49, 121]

0, 1, 9, 16, 100

4, 9, 9, 49, 121

相关推荐
上弦月-编程7 分钟前
高效编程利器:转移表技术解析
c语言·开发语言·数据结构·算法·排序算法
薇茗8 分钟前
【初阶数据结构】 左右逢源的分支诗律 二叉树2
c语言·数据结构·算法·二叉树
AZaLEan__11 分钟前
算法考核题解
算法
唐叔在学习16 分钟前
TodoList:我的待办助手
python·程序员·ai编程·待办应用
MediaTea23 分钟前
AI 术语通俗词典:ID3 算法
人工智能·算法
Morwit24 分钟前
【力扣hot100】 221. 最大正方形
前端·算法·leetcode
呃呃本38 分钟前
算法题(矩阵)
线性代数·算法·矩阵
郝学胜-神的一滴1 小时前
深度学习损失函数:从原理到实战之 Smooth L1 Loss
人工智能·pytorch·python·深度学习·机器学习·数据挖掘
呃呃本1 小时前
算法题(普通数组、矩阵)
线性代数·算法·矩阵
hhzz1 小时前
第1天:初识Python
开发语言·python·学习编程