1class Solution {2public:3int thirdMax(vector<int> &nums) {4set<int> s;5for (int i = 0; i < nums.size(); i++) {6s.insert(nums[i]);7}8if (s.size() >= 3) { // when set size >=3 means 3rd Maximum exist(because9// set does not contain duplicate element)10int Third_index_from_last = s.size() - 3;11auto third_maximum = next(s.begin(), Third_index_from_last);12return *third_maximum;13}14return *--s.end(); // return maximum if 3rd maximum not exist15}16};