題目
給定一個大小爲 n 的數組,找到其中的多數元素。多數元素是指在數組中出現次數大於 ⌊ n/2 ⌋ 的元素。
你可以假設數組是非空的,並且給定的數組總是存在多數元素。
示例 1:
輸入: [3,2,3]
輸出: 3
示例 2:
輸入: [2,2,1,1,1,2,2]
輸出: 2
答案
基本思路爲使用HashMap對數組中的每一個數進行統計
import java.util.HashMap;
/**
* @Author Zrt
* @Date 2020/3/4 17:12
*/
class Solution {
public int majorityElement(int[] nums) {
HashMap<Integer,Integer> map = new HashMap();
for (int num : nums) {
if(map.containsKey(num)){
map.put(num,map.get(num)+1);
}else{
map.put(num,1);
}
}
for(Integer integer : map.keySet()){
if(map.get(integer)>(nums.length/2)){
return integer;
}
}
return -1;
}
}