觉得第三个实例是错的呀,按照通过的代码第三大的数并不是唯一出现的 按照唯一出现写的代码不通过,不唯一的就通过了 解释: 注意,要求返回第三大的数,是指第三大且唯一出现的数。 存在两个值为2的数,它们都排第二。
class Solution {
public int thirdMax(int[] nums) {
Arrays.sort(nums);
int len=nums.length;
if(len<3) return nums[len-1];
int count3=0;
int i;
for ( i = len-1; i >0; i--) {
if(nums[i]!=nums[i-1]) count3++;
if(count3==2) break;//i-1
}
if(i<=0) return nums[len-1];
return nums[i-1];
}
}