[leetcode]最佳观光组合

本文介绍了一种通过优化时间和空间复杂度来提升算法效率的方法。具体实现中,使用了列表和动态规划技巧,如从后往前查找最大值,以及利用预处理数组进行快速求解。这种方法适用于解决特定类型的问题,例如寻找配对的最大观光得分。文章详细展示了如何用Python实现这一算法,并通过实例说明其应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以优化时间和空间,酱婶儿写只是思路更清晰一些~
这个是和更大

class Solution:
    def maxScoreSightseeingPair(self, A: List[int]) -> int:
        n = len(A)
        ID = [i for i in range(n)]  
        B = [A[i] - ID[i] for i in range(n)]
        C = [A[i] + ID[i] for i in range(n)]
        maxn = 0
        D = [0] * n
        D[n-1] = B[n-1]
        '''从后往前找,找当前id值的后面的最大值'''
        for i in range(n-2,-1,-1):
            D[i] = max(D[i+1], B[i]) 
        for i in range(n-1):
            maxn = max(maxn, C[i] + D[i+1])
        return maxn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值