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

Given an array arr of 4 digits, find the latest 24-hour time that can be made using each digit exactly once.
24-hour times are formatted as "HH:MM", where HH is between 00 and 23, and MM is between 00 and 59. The earliest 24-hour time is 00:00, and the latest is 23:59.
Return the latest 24-hour time in "HH:MM" format. If no valid time can be made, return an empty string.
 
Please complete the following python code precisely:
```python
class Solution:
    def largestTimeFromDigits(self, arr: List[int]) -> str:
```