229. Majority Element II
Given an integer array of size n, find all elements that appear more than
⌊ n/3 ⌋times. The algorithm should run in linear time and in O(1) space.
此题和major element的不同在于,由n/2 变成了n/3,那么看看再major element中用到的方法在这里还能不能继续用了:
1.hashmap,这个是可以的,代码如下:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }public class Solution {
public List<Integer> majorityElement(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
List<Integer> res = new ArrayList<Integer>();
for(int i=0;i<nums.length;i++){
map.put(nums[i],map.getOrDefault(nums[i],0)+1);
}
for(int key:map.keySet()){
System.out.println(key);
System.out.println(map.get(key));
if(map.get(key)>nums.length/3){
res.add(key);
}
}
return res;
}
}
2.moor voting algorithm
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 }public class Solution {
public List<Integer> majorityElement(int[] nums) {
List<Integer> res= new ArrayList<>();
if(nums.length==0) return res;
int major1 = nums[0];
int major2 = nums[0];
int count1 = 0;
int count2 = 0;
for(int i=0;i<nums.length;i++){
if(major1==nums[i]){
count1++;
}else if(major2==nums[i]){
count2++;
}else if(count1==0){
major1 = nums[i];
count1++;
}else if(count2==0){
major2= nums[i];
count2++;
}else{
count1--;
count2--;
}
}
count1=0;
count2=0;
for(int i=0;i<nums.length;i++){
if(major1==nums[i]) count1++;
else if(major2==nums[i]) count2++;
}
if(count1>nums.length/3) res.add(major1);
if(count2>nums.length/3) res.add(major2);
return res;
}
}
- 102. Binary Tree Level Order Traversal
- 大年初一红包来啦!
- Hybrid APP混合开发的一些经验和总结
- easy_install 和 pip
- Java 父类 xx = new 子类()
- “RESOURCE MONITOR“CPU占用特别高
- spf13-vim安装成功
- Chrome sapui5开发调试工具
- windows 下安装nodejs 要怎么设置环境变量
- Haskell语言学习笔记(4)Functor
- 169. Majority Element
- 关于无穷大的设定
- Delphi7/2007/2009/2010/XE/XE2/XE3/XE4/XE5/XE6/XE7/XE8/10最终版
- Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析
- 11种常见SQLMAP使用方法详解
- PAT (Advanced Level) Practise 1004 解题报告
- PAT (Advanced Level) Practise 1003 解题报告
- PAT (Advanced Level) Practise 1002 解题报告
- 【诗和远方】一个蒟蒻的年初展望
- 【诗和远方】一个蒟蒻的年初展望