[刷题]Majority Number II
来源:互联网 发布:开源三网合一源码 编辑:程序博客网 时间:2024/05/01 18:02
[LintCode]Majority Number II
public class Solution { /** * @param nums: A list of integers * @return: The majority number that occurs more than 1/3 */ public int majorityNumber(ArrayList<Integer> nums) { // 2015-09-07 if (nums == null || nums.size() == 0) { return -1; } int candidate1 = 0; int candidate2 = 0; int count1 = 0; int count2 = 0; for (int i = 0; i < nums.size(); i++) { // 注意if的顺序,确保candidate1和candidate2不是同一个数 if (count1 == 0) { candidate1 = nums.get(i); count1++; } else if (candidate1 == nums.get(i)) { count1++; } else if (count2 == 0) { candidate2 = nums.get(i); count2++; } else if (candidate2 == nums.get(i)) { count2++; } else { count1--; count2--; } } // 此时只剩下两个数,candidate1和candidate2 count1 = 0; count2 = 0; for (int i = 0; i < nums.size(); i++) { if (candidate1 == nums.get(i)) { count1++; } if (candidate2 == nums.get(i)) { count2++; } } return count1 > count2 ? candidate1 : candidate2; }}
0 0
- [刷题]Majority Number II
- Lintcode - Majority Number II
- Majority Number II
- Majority Number I&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
- [刷题]Majority Number III
- 代码面试题:Majority Number II
- Majority Number II——算法练习
- 集合框架的使用---Majority Number II
- Lintcode47 Majority Number II solution 题解
- 47.Majority number II-主元素 II(中等题)
- Majority Number
- Majority Number
- 一个人的战斗
- ftp文件收发代码
- 使用Navicat For MySql 将mysql中的数据导出
- svn: E000017: Can't create directory '/home/cmcc/.svn/tmp': File exists
- GO备忘录
- [刷题]Majority Number II
- android:layout_gravity
- OpenGL和Mesa的关系
- Eclipse 搭建PhoneGap 开发环境
- Android自定义控件的好处
- android cts测试失败项以及原因
- 生产者/消费者问题的多种Java实现方式
- java:instanceof
- 初探swift语言的学习笔记十(block)