Leetcode 414. Third Maximum Number (Easy) (cpp)

来源:互联网 发布:初学数控车床编程教程 编辑:程序博客网 时间:2024/06/06 07:35

Leetcode 414. Third Maximum Number (Easy) (cpp)

Tag: Array

Difficulty: Easy


/*414. Third Maximum Number (Easy)Given a non-empty array of integers, return the third maximum number in this array. If it does not exist, return the maximum number. The time complexity must be in O(n).Example 1:Input: [3, 2, 1]Output: 1Explanation: The third maximum is 1.Example 2:Input: [1, 2]Output: 2Explanation: The third maximum does not exist, so the maximum (2) is returned instead.Example 3:Input: [2, 2, 3, 1]Output: 1Explanation: Note that the third maximum here means the third maximum distinct number.Both numbers with value 2 are both considered as second maximum.*/class Solution {public:    int thirdMax(vector<int>& nums) {        set<int> s;        for(int i = 0; i < nums.size(); ++i) {            s.insert(nums[i]);            if(s.size() > 3) {                s.erase(s.begin());            }        }        if(s.size() < 3) {            return *(--s.end());        }        return *s.begin();    }};


0 0