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

You are given an integer array cards where cards[i] represents the value of the ith card. A pair of cards are matching if the cards have the same value.
Return the minimum number of consecutive cards you have to pick up to have a pair of matching cards among the picked cards. If it is impossible to have matching cards, return -1.
 
Please complete the following python code precisely:
```python
class Solution:
    def minimumCardPickup(self, cards: List[int]) -> int:
```