**Problem Statement:**
Given an integer array `nums`, return the third distinct maximum number in this array. If the third maximum does not exist, return the maximum number.
**Hint / Expected Approach:**
Three-variable tracking (handle duplicates)
**Edge Cases to Consider:**
- (1) Fewer than 3 distinct numbers
- (2) Negative max values
- (3) Array with all duplicates