Please solve the programming task below using a self-contained code snippet in a markdown code block.

You are given an integer array values where values[i] represents the value of the ith 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.
 
Please complete the following python code precisely:
```python
class Solution:
    def maxScoreSightseeingPair(self, values: List[int]) -> int:
```