题目描述:
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: 3
Example 2:
Input: [2,2,1,1,1,2,2] Output: 2
中文理解:找出一个数组中的出现次数最多的元素。
解题思路:使用hashmap存储每个元素出现的次数,遍历即可得到符合要求的元素。
代码(java):
class Solution {
public int majorityElement(int[] nums) {
HashMap<Integer,Integer> count=new HashMap<Integer,Integer>();
for(int i: nums){
if(count.containsKey(i)){
count.put(i,count.get(i)+1);
}
else{
count.put(i,1);
}
}
for(int key : count.keySet()){
if(count.get(key)>nums.length/2)return key;
}
return 0;
}
}