leetcode

Leetcode Solutions (0x6A73)
git clone https://git.pngu.org/leetcode
Log | Files | Refs | Submodules | README

best_sightseeing_pair.py (903B)


# 1014. Best Sightseeing Pair

"""
you are given an integer array 'values' where 'values[i]' represents the
value of the i'th sightseeing spot. two sightseeing spots 'i' and 'j' have a
distance 'j - i' between them. the score of a pair ('i < j') of sightseeing
spots is 'values[i] + values[j] + i - j': the sum of the values of the
sightseeing spots. minus the distance between them. return the maximum score
of a pair of sightseeing spots.
"""


class Solution(object):
    def maxScoreSightseeingPair(self, values):
        """
        :type values: List[int]
        :rtype: int
        """
        ans, curr = 0, 0
        for i in values:
            ans = max(ans, curr + i)
            curr = max(curr, i) - 1
        return ans


if __name__ == "__main__":
    obj = Solution()
    print(obj.maxScoreSightseeingPair(values=[8, 1, 5, 2, 6]))
    print(obj.maxScoreSightseeingPair(values=[1, 2]))