算法:利用hashmap来记录次数,但是并不是每一个大于长度的一半都会return,需要将最大的超过一半长度的值,return
class Solution {
public int majorityElement(int[] nums) {
if(nums.length==1){
return nums[0];
}
int max = 0,temp = 0;
int count=0;
HashMap<Integer,Integer> Hashmap = new HashMap<>();
for(int i=0;i<nums.length;i++){
if(Hashmap.containsKey(nums[i])){
Hashmap.put(nums[i],Hashmap.get(nums[i])+1);
if(Hashmap.get(nums[i])>=nums.length/ 2 ){
if(max<Hashmap.get(nums[i])){
count = nums[i];
max = Hashmap.get(nums[i]);
}
}
}else{
Hashmap.put(nums[i],1);
}
}
return count;
}
}