Majority Element
2015-06-10 20:23
351 查看
class Solution { public: int majorityElement(vector<int>& nums) { int n=nums.size(),i; int m=nums[0]; int cnt=1; bool find=true; for(i=1;i<n;i++) { if(!find) { m=nums[i]; find=true; cnt=1; continue; } if(m==nums[i]) cnt++; else { cnt--; if(cnt==0) find=false; } } return m; } };
View Code
查找大于[n/2]+1的数,可以假定一个数是众数,若碰到和他不一样的数,将个数减1,众数一定是最后唯一存活下来的数。
相关文章推荐
- 我们都爱大长腿
- Algorithms—22.Generate Parentheses
- XX项目总结
- uva 10397 Connect the Campus(最小生成树kruskal)
- 二进制bomb实验第三弹
- android:layout_gravity 和 android:gravity 的区别
- sprintf函数
- Canjs基础教程之Controls
- HDU - 2059 龟兔赛跑(多阶段决策dp)
- 线程与进程的区别
- oracle record is locked by another user
- DFS Path Sum II
- 仿英语流利说取词放大控件的实现
- Java——(四)Collection之Set集合TreeSet类
- 修改input的type属性
- 2.2linux内核移植简介
- Copley驱动器控制永磁同步电机设置步骤1
- 嵌入式Qt环境搭建中的qvfb安装
- qt 断点无效 --- ubuntu
- Copley驱动器控制永磁同步电机设置步骤1