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

相关推荐
CarIise1 小时前
C语言结构体与链表
数据结构·算法
Tisfy1 小时前
LeetCode 3720.大于目标字符串的最小字典序排列:状态机 —— :从左往右枚举,失败则退回(最多退回一次)
linux·数据库·leetcode·字符串·状态机·构造
晚风醉蝶1 小时前
1-18-基数排序-RadixSort
python·算法·排序算法·基数排序
lch2011_yb2 小时前
CSP-J 2022 上升点列 题解
算法·深度优先
lvts_cs2 小时前
化工产业规划对城市发展的具体指导作用
算法·动态规划
AI服务老曹2 小时前
水位识别算法接入AI视频分析平台全流程与误报优化指南(附接口字段与排查表)
人工智能·算法·音视频
江畔柳前堤2 小时前
消息队列:从直觉到精通的完整认知地图
开发语言·人工智能·算法·机器学习·ruby on rails·scala
ai产品老杨3 小时前
明火识别算法接入AI视频分析平台全流程与误报优化指南(附接口字段与排查表)
人工智能·算法·音视频
讨厌吃蛋黄酥3 小时前
📚408数据结构|最短路径算法一篇彻底搞懂!BFS、Dijkstra、Floyd别再傻傻分不清了
算法
charlie1145141913 小时前
deque、list 与 forward_list:vector 之外的三个选择
开发语言·数据结构·c++·list·开源项目