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

Given a 0-indexed integer array nums of size n, find the maximum difference between nums[i] and nums[j] (i.e., nums[j] - nums[i]), such that 0 <= i < j < n and nums[i] < nums[j].
Return the maximum difference. If no such i and j exists, return -1.
 
Please complete the following python code precisely:
```python
class Solution:
    def maximumDifference(self, nums: List[int]) -> int:
```