1014. Best Sightseeing Pair
有一个values array
score=values[i]+values[j]+i-j,其中(i<j)
请回传最大的score
思路:
纪录目前最大的score
并且纪录maxsum=max(value[i]+i、value[j]+j)
这样到values[k]时
score=max(score,maxsum+values[k]-k)
这样就可以得到答案了
golang code :
func maxScoreSightseeingPair(values []int) int {
maxsum := 0
ans := 0
for key, val := range values {
ans = max(ans, maxsum+val-key)
maxsum = max(maxsum, key+val)
}
return ans
}