int thirdMax(int* nums, int numsSize)
{
//首先将元素从大到小排序
for (int i = 0; i < numsSize; i++)
{
for (int j = i; j >0 && nums[j-1]<nums[j]; j--)
{
int temp = nums[j-1];
nums[j - 1] = nums[j];
nums[j] = temp;
}
}
//其次寻找第三大的数,i用来记录当前元素,cnt用来记录第n大的数
for (int i = 1,cnt=1; i < numsSize; i++)
{
if(nums[i-1]!=nums[i])
{
cnt++;
if (cnt==3)
{
return nums[i];
}
}
//如果找不到就输出最大的数
return nums[0];
}
414. 第三大的数
最新推荐文章于 2024-06-13 12:40:32 发布