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

Given an integer array nums, partition it into two (contiguous) subarrays left and right so that:

Every element in left is less than or equal to every element in right.
left and right are non-empty.
left has the smallest possible size.

Return the length of left after such a partitioning.
Test cases are generated such that partitioning exists.
 
Please complete the following python code precisely:
```python
class Solution:
    def partitionDisjoint(self, nums: List[int]) -> int:
```