暴力法 ————》超时
思路:
分数= 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
原文:https://www.cnblogs.com/SuckChen/p/13152241.html