| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | func thirdMax(nums []int) int {	max := make([]int, 3)	l := 0	for _, i := range nums {		switch l {		case 0:			max[0] = i			l++		case 1:			if i == max[0] {				continue			}			if i < max[0] {				max[1] = i			} else {				max[0], max[1] = i, max[0]			}			l++		case 2:			if max[0] == i || max[1] == i {				continue			}			if i < max[1] {				max[2] = i			} else if i < max[0] {				max[1], max[2] = i, max[1]			} else {				max[0], max[1], max[2] = i, max[0], max[1]			}			l++		case 3:			if max[0] == i || max[1] == i || max[2] == i || i < max[2] {				continue			}			if i < max[1] {				max[2] = i			} else if i < max[0] {				max[1], max[2] = i, max[1]			} else {				max[0], max[1], max[2] = i, max[0], max[1]			}		}	}	if l < 3 {		return max[0]	}	return max[l-1]}
 |