169.Majority Element
来源:互联网 发布:乌兰托娅的歌曲淘宝 编辑:程序博客网 时间:2024/06/04 01:21
问题描述:
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.
思路一:使用HashMap
代码如下:
class Solution { public int majorityElement(int[] nums) { HashMap<Integer,Integer> hash = new HashMap<Integer,Integer>(); int val = 0; for(int i = 0;i<nums.length;i++){ val = nums[i]; if(!hash.containsKey(val)) hash.put(val,0); int num = hash.get(val)+1; hash.replace(val,num); if(num>nums.length/2) break; } return val; }}
注意:
- Map<int,int> map=new Map<int,int>();
错误
泛型的声明必须是一个类,int是基本数据类型而不是一个类,应该用int的封装类Integer做声明,也就是Map<Integer,Integer>
思路二:使用Moore’s Voting Algorithm
具体见我的博客
代码如下:
class Solution { public int majorityElement(int[] nums) { int cand = nums[0]; int count = 1; for(int i = 1; i<nums.length; i++){ if(count == 0) cand = nums[i]; if (cand == nums[i]) count++; else count--; } return cand; }}
阅读全文
0 0
- 169.Majority Element && 229. Majority Element II
- [LeetCode]169.Majority Element
- LeetCode 169.Majority Element
- 【LeetCode】169.Majority Element
- LeetCode 169. Majority Element
- LeetCode 169. Majority Element
- 169.Majority Element
- [leetcode] 169.Majority Element
- 169. Majority Element
- Leetcode 169. Majority Element
- 【LeetCode】169. Majority Element
- [LeetCode]169. Majority Element
- 169. Majority Element LeetCode
- 169. Majority Element
- 169. Majority Element
- LeetCode 169. Majority Element
- LeetCode 169. Majority Element
- Leetcode 169. Majority Element
- Hibernate初学小笔记2《2017-09-07》
- Android开发之资源目录assets与res/raw的区别分析
- 单例模式..需要注意
- python: 递归记录 指定后缀名 的文件
- 解决vue安装教程(自己安装过程及遇到的一些坑)
- 169.Majority Element
- java导出Excel文件
- 数据挖掘之关联分析二(频繁项集的产生)
- 总结下最近面试iOS的一些情况
- 安装Yslow
- rabbitmq基本原理
- javascript refresh page 几种页面刷新的方法
- C++两种创建对象的方式
- 一人岁数的3次方是四位数,四次方是六位数,并知道此人岁数的3次方和4次方用遍了0~9十个数字。编写一程序求此人的岁数