码迷,mamicode.com
首页 > 其他好文 > 详细

【LeetCode OJ】Majority Element

时间:2015-03-28 15:38:32      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

题目:Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.

You may assume that the array is non-empty and the majority element always exist in the array.

 1 int majorityElement(vector<int> &num)
 2 {
 3     map<int, int> m;
 4     int n = num.size() / 2;
 5     for (vector<int>::iterator it = num.begin(); it != num.end(); it++)
 6     {
 7         auto ret = m.insert(make_pair(*it, 1));  //对于不包含重复关键字的容器map,insert操作返回一个pair
 8         if (!ret.second)        //pair的firs成员是一个迭代器,指向具有给定关键字的元素,
 9             ++ret.first->second;//second成员是一个bool值,指出元素的插入成功还是已经存在于容器中,如果已存在,则返回bool为false
10 
11     }
12     for (map<int, int>::iterator it = m.begin(); it != m.end(); it++)
13     {
14         if (it->second > n)
15             return it->first;
16     }
17 }

 

【LeetCode OJ】Majority Element

标签:

原文地址:http://www.cnblogs.com/xujian2014/p/4374207.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!