有序转化数组(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

相关推荐
Kyrie_kk1 天前
Java--BigInteger 超大整数计算
java·算法
神明不懂浪漫1 天前
【第三章】链表
开发语言·数据结构·经验分享·笔记·链表
汽车网络安全爱好者1 天前
Public Key Infrastructure(二)— 深入理解 X.509 证书:从 RFC 5280 到 OpenSSL 实践
运维·服务器·算法·网络安全·汽车·密码学·可信计算技术
tkevinjd1 天前
力扣131-分割回文串
算法·leetcode·深度优先
BioRunYiXue1 天前
技术干货 | LiP-MS全流程解析:从实验设计到数据分析
大数据·前端·javascript·人工智能·算法·数据挖掘·数据分析
Jasmine_llq1 天前
《P11246 [GESP202409 六级] 小杨和整数拆分》
算法·数学定理版本·时间复杂度n1/2·dp 版本
湿滑路面1 天前
VideoPipe中集成多模态大模型做视频(图片)分析
人工智能·算法·音视频
井川廊咏1 天前
使用typedef封装函数指针新类型
算法
fīɡЙtīиɡ ℡1 天前
分布式ID生成策略
java·分布式·算法
星空露珠1 天前
迷你世界3.0API,事件监听
开发语言·数据结构·数据库·游戏·lua