Majority Element
来源:互联网 发布:淘宝古文观止 中华书局 编辑:程序博客网 时间:2024/03/29 06:27
题目描述
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.
题目出处:https://oj.leetcode.com/problems/majority-element/解题思路
1 辅助map:map<数组中元素的值,该值出现的次数>
2 操作:每次到map中寻找,如果找到:则将value加1并判断是否退出;如果找不到:则将该元素加入。
自己的源代码
package leetcode;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;public class MajorityElement {public static int majorityElement(int[] num) {Map<Integer, Integer> map = new HashMap<Integer, Integer>();int result = num[0];int numLen = num.length;int objNum = numLen/2 + 1;//跳出条件outer:for(int i = 0; i < numLen; i++){Iterator<Entry<Integer, Integer>> it = map.entrySet().iterator();boolean finding = false;while(it.hasNext()){Entry<Integer, Integer> itEntry = it.next();int itKey = itEntry.getKey();int digit = num[i];if(digit == itKey){//如果找到finding = true;int itValue = itEntry.getValue() + 1;itEntry.setValue(itValue);if(itValue == objNum) {result = itKey;break outer;}}}if(!finding){//如果找不到map.put(num[i], 1);}} return result; }public static void main(String[] args) {int[] num = {2, 3, 2, 3, 2, 4};System.out.println(MajorityElement.majorityElement(num));}}
0 0
- majority element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- Majority Element
- majority element
- Majority Element
- Majority Element
- which offer you birkenstock sale outstanding
- Android进程与内存及内存泄露
- BZOJ 1408 NOI2002 Robot 数论
- grub原理及使用详解
- l birkenstock ought to have some further
- Majority Element
- CSS 兼容手机浏览器 点击蓝色边框
- Android Dalvik虚拟机简介
- webstorm正确辨认handlebars语法
- P2P网贷系统-核心功能-用户投标-业务讲解
- 去除手机浏览器按钮点击出现的高亮框
- Hibernate入门教程
- Word中字号对应、参考文献、插入公式行间距变大的问题
- 性能评估思路总体