第三大的数
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。
示例 1:
输入:[3, 2, 1]
输出:1
解释:第三大的数是 1 。
个人解法:先对数组排序,然后将初始值设为最后一个数,从后往前循环遍历,如果比这个数字小,就赋值,让flag+1,如果 flag大于三就跳出,如果小于3就返回最大的数
class Solution {
public int thirdMax(int[] nums) {
Arrays.sort(nums);
int target = nums[nums.length -1];
int flag = 1;
for(int i = nums.length - 1;i >= 0;i--){
if (target > nums[i]){
target = nums[i];
flag++;
if (flag == 3){
break;
}
}
}
return flag == 3 ? target : nums[nums.length -1];
}
}