【leetcode】Majority Element
来源:互联网 发布:在线网络理财产品排名 编辑:程序博客网 时间:2024/05/01 03:05
Majority Element
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.
本思路就是对比两个数据,如果两个数据不一致的话,就都删掉;由于major的数据会超过 ⌊ n/2 ⌋ ,因此,剩下的那个数据就是所求的
class Solution {public: int majorityElement(vector<int> &num) { int size=num.size(); int count=0,answer=0; for (int i=0;i<size;i++) { if(count==0) { answer=num[i]; count++; } else { if(num[i]==answer) count++; else count--; } } return answer; }};
网上的另外的一个方法,就是随机挑选一个元素,记其出现的次数,如果小于n/2就删掉,再比较下一个。这种方法的运算复杂度较低。
class Solution {public: int majorityElement(vector<int> &num) { int count = 0; for(;;) { if(num.size() == 1) return num[0]; else { int i = rand() % (num.size() - 1); for(int j = 0; j < num.size(); j++) { if(num[j] == num[i]) count++; } if(count > (num.size() / 2)) return num[i]; else { count = 0; continue; } } } } };
0 0
- 【leetcode】Majority Element II,Majority element algorithm
- Leetcode: Majority Element &Majority Element II
- Leetcode Majority Element
- leetcode 169-Majority Element
- 【leetcode 哈希表】Majority Element
- LeetCode:Majority Element
- leetcode:Majority Element
- leetcode: Majority Element
- [LeetCode] Majority Element
- leetcode 153: Majority Element
- leetcode Majority Element
- LeetCode:Majority Element
- leetcode:Majority Element
- [LeetCode] Majority Element
- Leetcode-Majority Element
- [leetcode]Majority Element
- [LeetCode]Majority Element
- Leetcode: Majority Element
- maven指定依赖打成一个jar包
- struts2的result-type详解
- LINQ 的使用
- vmware workstation11下安装ubuntu14.04
- java汉字转拼音
- 【leetcode】Majority Element
- 第4周项目3-用对象数组操作长方体类
- js如何生成动态正则表达式?
- 安装ADT
- R语言学习笔记(二)
- Win8系统108个运行命令 你能记住多少?(转)
- windows下基于Visual Studio配置&使用sqlite3
- ios单例模式实现的两种方式
- Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)