int thirdMax(vector<int> &nums) {
int num;
map<int, int> m;
for (int i = 0; i < nums.size(); i++)
m[nums[i]]++;
auto it = m.end();
int index = 3;
if (m.size() < 3)
num = (--it)->first;
else {
while (index--)
it--;
num = it->first;
}
return num;
}