Majority Element II
2015-10-02 22:06
429 查看
Given an integer array of size n, find all elements that appear more than
方法很笨,其实时间复杂度差不多是O(n²)。
⌊ n/3 ⌋times. The algorithm should run in linear time and in O(1) space.
方法很笨,其实时间复杂度差不多是O(n²)。
package leetcode; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; //import java.util.Scanner; import java.util.Set; public class Solution { public List<Integer> majorityElement(int[] nums) { List<Integer> result = new ArrayList<Integer>(); int n = nums.length; int m = n/3; Set<Integer> myset= new HashSet<Integer>(); for(int i=0;i<n;i++) { myset.add(nums[i]); } Iterator<Integer> iterator = myset.iterator(); while(iterator.hasNext()) { int thisnum = iterator.next(); int count = 0; for(int i=0;i<n;i++) { if(thisnum == nums[i]) { count++; if(count>m) { result.add(thisnum); break; } } } } return result; } public static void main(String[] args) { Solution sl = new Solution(); int[] nums = {2,2,4,6,7,4,2,4}; List<Integer> result = sl.majorityElement(nums); System.out.println(result); } }
相关文章推荐
- Android AsyncTask类的使用(二),加载ListView的Item的图片
- MySQL主从Replication同步&&半同步&&主主复制架构
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Java 实时论坛 - Sym 1.3.0 发布
- Project Euler 78:Coin partitions
- 进程和线程
- c++ primer 练习5.14
- 输入三个数求由小到大顺序的另一种写法
- Linux系统的头文件和库文件搜索路径
- 常用运算电压比较器目录
- 写在前面--PAT(Advenced Level)Practise
- 使用ExtJs实现文件下载
- [LeetCode]Reverse Integer
- 洛谷2431 正妹吃月饼
- 基准点压芯片锦
- vs2013中opencv的配置
- 十一期间web捣鼓
- chi-square test或称卡方检验