LeetCode 414. 第三大的数-C语言
作者:互联网
LeetCode 414. 第三大的数-C语言
题目描述
解题思路
1.设置数组max[3]用于保存前三大的值,初始化为LONG_MIN意为最小值
2.遍历数组对前三大的值进行更新
3.判断max[2]是否存在,若不存在直接返回max[0]
代码
int thirdMax(int* nums, int numsSize){
long max[3] = {LONG_MIN,LONG_MIN,LONG_MIN};
for (int i = 0; i < numsSize; i++) {
if (nums[i] > max[0]) {
max[2] = max[1];
max[1] = max[0];
max[0] = nums[i];
}
else if (nums[i] < max[0] && nums[i] > max[1]) {
max[2] = max[1];
max[1] = nums[i];
}
else if (nums[i] < max[1] && nums[i] > max[2]) {
max[2] = nums[i];
}
}
if (max[2] != LONG_MIN) {
return max[2];
}
return max[0];
}
标签:numsSize,nums,int,max,MIN,LONG,C语言,414,LeetCode 来源: https://blog.csdn.net/qq_45401555/article/details/113791606