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

You are given an undirected graph. You are given an integer n which is the number of nodes in the graph and an array edges, where each edges[i] = [ui, vi] indicates that there is an undirected edge between ui and vi.
A connected trio is a set of three nodes where there is an edge between every pair of them.
The degree of a connected trio is the number of edges where one endpoint is in the trio, and the other is not.
Return the minimum degree of a connected trio in the graph, or -1 if the graph has no connected trios.
 
Please complete the following python code precisely:
```python
class Solution:
    def minTrioDegree(self, n: int, edges: List[List[int]]) -> int:
```