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

You are given a 0-indexed array of positive integers tasks, representing tasks that need to be completed in order, where tasks[i] represents the type of the ith task.
You are also given a positive integer space, which represents the minimum number of days that must pass after the completion of a task before another task of the same type can be performed.
Each day, until all tasks have been completed, you must either:

Complete the next task from tasks, or
Take a break.

Return the minimum number of days needed to complete all tasks.
 
Please complete the following python code precisely:
```python
class Solution:
    def taskSchedulerII(self, tasks: List[int], space: int) -> int:
```