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

You are given a 0-indexed integer array tasks, where tasks[i] represents the difficulty level of a task. In each round, you can complete either 2 or 3 tasks of the same difficulty level.
Return the minimum rounds required to complete all the tasks, or -1 if it is not possible to complete all the tasks.
 
Please complete the following python code precisely:
```python
class Solution:
    def minimumRounds(self, tasks: List[int]) -> int:
```