Leetcode 每日一题:1014. 最佳观光组合

暴力法 ————》超时
思路:
分数= A[i] +A[j]+i-j => (A[i]+i) + (A[j]-j)
每个景点要找到在他之后的最大评分:逆序求最大值
待优化
class Solution:
def maxScoreSightseeingPair(self, A: List[int]) -> int:
start = [A[i]+i for i in range(len(A))]
end= [A[i]-i for i in range(len(A))]
max1 = 0
max2 = end[-1]
for i in range(len(A)-2,-1,-1):
end[i] = max(end[i],max2)
max2 = max(end[i],max2)
max1 = 0
for i in range(len(A)-1):
max1 = max(start[i]+end[i+1],max1)
return max1

浙公网安备 33010602011771号