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

Given n cuboids where the dimensions of the ith cuboid is cuboids[i] = [widthi, lengthi, heighti] (0-indexed). Choose a subset of cuboids and place them on each other.
You can place cuboid i on cuboid j if widthi <= widthj and lengthi <= lengthj and heighti <= heightj. You can rearrange any cuboid's dimensions by rotating it to put it on another cuboid.
Return the maximum height of the stacked cuboids.
 
Please complete the following python code precisely:
```python
class Solution:
    def maxHeight(self, cuboids: List[List[int]]) -> int:
```