Majority Number II
来源:互联网 发布:什么是协同过滤算法? 编辑:程序博客网 时间:2024/04/30 14:41
- 题目描述
- 链接地址
- 解法
- 算法解释
题目描述
Given an array of integers, the majority number is the number that occurs more than 1/3 of the size of the array.
Example
Given [1, 2, 1, 2, 1, 3, 3], return 1.
Note
There is only one majority number in the array.
Challenge
O(n) time and O(1) extra space.
.
链接地址
http://www.lintcode.com/en/problem/majority-number-ii/
解法
int majorityNumber(vector<int> nums){ // write your code here int num1 = 0, num2 = 0; int ret1 = 0, ret2 = 0; for (int i = 0; i < nums.size(); i++) { if (num1 != 0 && ret1 == nums[i]) { num1++; } else if (num2 != 0 && ret2 == nums[i]) { num2++; } else if (num1 != 0 && num2 != 0) { num1--; num2--; } else if (num1 == 0) { num1 = 1; ret1 = nums[i]; } else { num2 = 1; ret2 = nums[i]; } } int count1 = 0, count2 = 0; for (int i = 0; i < nums.size(); i++) { if (ret1 == nums[i]) { count1++; } else if (ret2 == nums[i]) { count2++; } } if (count1 > count2) { return ret1; } else { return ret2; } }
算法解释
正如算法Majority Number,同时删除两个元素,现在同时删除三个元素。
0 0
- Lintcode - Majority Number II
- Majority Number II
- Majority Number I&II
- [刷题]Majority Number II
- lintcode:Majority Number II
- #47 Majority Number II
- LintCode:Majority Number / Majority Number II / Majority Number III
- [LintCode] 主元素 II Majority Number II
- *[Lintcode]Majority Number II 主元素 II
- 代码面试题:Majority Number II
- Majority Number II——算法练习
- 集合框架的使用---Majority Number II
- Lintcode47 Majority Number II solution 题解
- 47.Majority number II-主元素 II(中等题)
- Majority Number
- Majority Number
- Majority Element && Majority Element II
- LeetCode(169) Majority Number
- SpringMVC 用注解Annotation驱动的IoC功能@Autowired @Component
- 初识数据库
- Gym 100712G Heavy Coins(DFS)
- “儿童”计算器
- Gym 100712I Bahosain and Digits(枚举)
- Majority Number II
- 原型模式
- POJ 1753 Flip Game(BFS)
- Scala:基于trait的多重继承构造器的执行顺序、基于trait的AOP实践
- C++中模板类使用友元模板函数
- 20_Android中apk安装器,通过WebView来load进一个页面,Android通知,程序退出自动杀死进程,通过输入包名的方式杀死进程
- linux下apache绑定多个域名
- 设计模式--命令模式
- linux /etc/init.d/ rc*.d 详解