面试高频算法真题-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;
}