1、对数组进行排序;
2、从后面开始遍历排序后的数组;
3、找到第三大的数字,没有就返回数组最后一个元素。
public static int thirdMax(int[] nums) {
Arrays.sort(nums);
int ans = nums[nums.length - 1];
int count = 1;
for (int i = nums.length - 2; i >= 0; i--) {
if (nums[i] != nums[i + 1]) {
count++;
}
if (count == 3) {
return nums[i];
}
}
return ans;
}