169.主要元素

思路:
直接模拟,按关键值统计各个数出现得次数,最后找到出现次数最多数即为所求
代码:

//by me
class Solution {
public:
    int majorityElement(vector<int>& nums) {
        map<int,int> line;
        for (int v:nums) {//记录每个元素出现的次数
            ++line[v];
        }
        int max=nums[0];
        for (auto &w:line) {
            if (w.second>line[max]) {//找到计数最多的值
                max=w.first;
            }
        }
        return max;
    }
};

讨论区[https://leetcode.com/problems/majority-element/solution/][https://leetcode.com/problems/majority-element/discuss/51612/6-Suggested-Solutions-in-C++-with-Explanations]

posted @ 2018-09-07 15:44  Kipper  阅读(113)  评论(0)    收藏  举报