#打卡报表

58 阅读1分钟

面试高频算法真题-Day01

1. 第三大数

 int thirdMax(vector<int>& nums) {
    long long  firstNum = LONG_MIN,secondNum = LONG_MIN,thirdNum = LONG_MIN;
	for (auto& a : nums) {
		if (firstNum < a) { 
			
			thirdNum = secondNum;
			secondNum = firstNum;
			firstNum = a; 
		}
		else if (firstNum > a && secondNum < a) { 
			thirdNum = secondNum;
			secondNum = a; 
		}
		if (secondNum > a && thirdNum<a ) { 
			thirdNum = a; 
		}
	}

	if (thirdNum == LONG_MIN)
		return firstNum;
	else
		return thirdNum;
        
    }