-
题目描述:
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.
Example 1:
Input: [3,2,3]
Output: 3Example 2:
Input: [2,2,1,1,1,2,2]
Output: 2 -
解题思路
1.先排序,得到的nums[nums.length/2]即即为所求。
2.利用hashmap。 -
代码
class Solution {
public int majorityElement(int[] nums) {
HashMap<Integer, Integer> map = new HashMap<>();
int res = 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){
res = num;
break;
}
}
return res;
}
}