题意

找出数组中出现次数超过数组长度一半的那个元素。

题目来源:https://leetcode.com/problems/majority-element/

标记难度:Easy

提交次数:1/1

代码效率:20.20%

分析

哈希表,键存储元素,值存储个数,值大于数组长度 1/2 就返回。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
public int majorityElement(int[] nums) {
Map<Integer,Integer> map = new HashMap<Integer,Integer>();
int ret = 0;
for(int num : nums ){
if(!map.containsKey(num)){
map.put(num,1);
}else {
map.put(num,map.get(num)+1);
}
if(map.get(num) > nums.length/2){
ret = num;
}
}
return ret;
}
}