有序转化数组(LeetCode)

题目

给你一个已经排好序 的整数数组 和整数 、 、 。对于数组中的每一个元素 ,计算函数值 ,请 按升序返回数组 。

解题

在时间复杂度为解决问题

python 复制代码
def sortTransformedArray(nums, a, b, c):
    def f(x):
        return a * x * x + b * x + c

    n = len(nums)
    result = [0] * n
    left, right = 0, n - 1
    index = n - 1 if a >= 0 else 0

    while left <= right:
        left_val = f(nums[left])
        right_val = f(nums[right])

        if a >= 0:
            if left_val > right_val:
                result[index] = left_val
                left += 1
            else:
                result[index] = right_val
                right -= 1
            index -= 1
        else:
            if left_val < right_val:
                result[index] = left_val
                left += 1
            else:
                result[index] = right_val
                right -= 1
            index += 1

    return result


nums = [-4, -2, 2, 4]
a, b, c = 1, 3, 5
print(sortTransformedArray(nums, a, b, c))

nums = [-4, -2, 2, 4]
a, b, c = -1, 3, 5
print(sortTransformedArray(nums, a, b, c))

3, 9, 15, 33

-23, -5, 1, 7

相关推荐
北极有牛13 分钟前
cpp学习笔记--常量指针
java·开发语言·算法
GPU实战笔记14 分钟前
云端 GPU 训练的账户余额提醒:它能说明什么,不能说明什么?
深度学习·算法·成本管理·gpu云计算·云端训练
浮链序35 分钟前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室36 分钟前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
圣保罗的大教堂1 小时前
leetcode 301. 删除无效的括号 困难
leetcode
liliangcsdn1 小时前
派息率指标的应用探索和分析
大数据·算法
垆边人似月.2 小时前
华为机试题 :两数之和
c++·算法·华为
默默开发2 小时前
物流行业可用算法方向
算法
垆边人似月.2 小时前
华为机试题 :有效的括号
c++·算法·华为
A加ITIL教练长河achotsao3 小时前
ITIL Master 战略领导者课后系列分享:AI编程正在重新划分研发与运维的边界
算法