Leetcode:169. Majority Element(找到数组中出现次数最多的元素)
2017-12-04 11:46
706 查看
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.
分析:拿到这题,很有可能会理解出错,那就是找出数组里面出现次数超过n/2次的,而不是找出出现次数最多的。
一开始我就理解错了题意。
基于这个,借助java封装的函数可写出下面简洁代码:
You may assume that the array is non-empty and the majority element always exist in the array.
分析:拿到这题,很有可能会理解出错,那就是找出数组里面出现次数超过n/2次的,而不是找出出现次数最多的。
一开始我就理解错了题意。
基于这个,借助java封装的函数可写出下面简洁代码:
Method1:
public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; }
Method2
这是我看别人写的,感觉这个方法很完美。public int majorityElement(int[] num) { int major=num[0], count = 1; for(int i=1; i<num.length;i++){ if(count==0){ count++; major=num[i]; }else if(major==num[i]){ count++; }else count--; } return major; }
Method3
Disscuss里面的答案:感觉这个蛮符合逻辑 比较容易想到。// Hashtable public int majorityElement2(int[] nums) { Map<Integer, Integer> myMap = new HashMap<Integer, Integer>(); //Hashtable<Integer, Integer> myMap = new Hashtable<Integer, Integer>(); int ret=0; for (int num: nums) { if (!myMap.containsKey(num)) myMap.put(num, 1); else myM 4000 ap.put(num, myMap.get(num)+1); if (myMap.get(num)>nums.length/2) { ret = num; break; } } return ret; }
相关文章推荐
- [LeetCode169]Majority Element求一个数组中出现次数大于n/2的数
- LeetCode--Majority Element(出现次数最多的元素)Python
- ※ Leetcode - Array - 169. Majority Element(快速找出数组中出现过一半以上次数的数,3种写法)
- leetcode169---Majority Element(数组中出现次数超过一半的数)
- leetcode Majority Element 寻找出现次数最多元素
- 169.Majority Element (数组中出现次数超过一半的数)
- LeetCode 169. Majority Element (数组的主要元素、摩尔投票算法)
- LeetCode-169:Majority Element (数组中的多数元素)
- 找出数组中出现次数最多的前k个元素[leetcode题]
- 169. Majority Element--寻找数组中出现次数超过一半的数据,229. Majority Element II--注意最后的检测
- leetcode——169 Majority Element(数组中出现次数过半的元素)
- leetcode_Majority Element (找出现次数大于一半的元素)-easy
- leetcode229-Majority Element II(数组中出现最多的数II)
- 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数
- js 算出Array数组中出现次数最多的元素
- [LeetCode]169. Majority Element(多数元素)
- 统计数组中出现次数最多的元素并输出
- LeetCode-501. Find Mode in Binary Search Tree (JAVA)出现次数最多的元素
- js 算出Array数组中出现次数最多的元素
- 求一个数组重复出现次数最多的元素以及下标位置