LeetCode 414. 第三大的数-C语言

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];
}

LeetCode 414. 第三大的数-C语言

上一篇:leetcode——414.第三大的数


下一篇:如何使用matplotlib创建子图的大图?