LeetCode : Majority Element
2017-02-28 23:02
351 查看
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.
You may assume that the array is non-empty and the majority element always exist in the array.
class Solution { public: int majorityElement(vector<int>& nums) { map<int,int>m; for(int i=0;i<nums.size();++i) { if(m.find(nums[i])==m.end()) m[nums[i]] = 1; else m[nums[i]]++; if(m[nums[i]]>nums.size()/2) return nums[i]; } return 0; } }; //或者选举算法,时间复杂度是线性的 int majorityElement(vector<int> &num) { int majority; int cnt = 0; for(int i=0; i<num.size(); i++){ if ( cnt ==0 ){ majority = num[i]; cnt++; }else{ majority == num[i] ? cnt++ : cnt --; if (cnt >= num.size()/2+1) return majority; } } return majority; }
相关文章推荐
- LeetCode 169. Majority Element
- LeetCode Problem No'169 Majority Element
- 【leetcode】Array——Majority Element II(229)
- 【LeetCode】169. Majority Element
- leetcode 每日一题 169. Majority Element
- LeetCode - Majority Element
- [LeetCode] Majority Element II
- leetcode_Majority Element
- [leetcode] Majority Element II
- LeetCode Devide & Conquer Problem || Majority Element
- leetcode majority element
- [leetcode]Majority Element
- leetcode(169)Majority Element
- leetcode169---Majority Element(数组中出现次数超过一半的数)
- leetcode Majority Element
- Leetcode - Majority Element
- 【LeetCode】Majority Element 解题报告
- LeetCode 169. Majority Element
- 2018.03.07 leetcode 打卡 #169. Majority Element
- LeetCode------Majority Element