4.20
就是要考虑什么是严格大于,不能简单的是size/2
这样并不是严格大于的。
public class Solution {
/**
* @param nums: a list of integers
* @return: find a majority number
*/
public int majorityNumber(ArrayList<Integer> nums) {
// write your code
if(nums == null){
return 0;
}
int size = nums.size();
if(size == 1){
return nums.get(0);
}
HashMap<Integer,Integer> map = new HashMap<Integer,Integer>();
for(int i = 0; i < size; i++){
if(!map.containsKey(nums.get(i))){
map.put(nums.get(i),1);
}
else{
int tmp = map.get(nums.get(i))+1;
if(tmp >= (size/2+size%2)){
return nums.get(i);
}
map.put(nums.get(i),tmp);
}
}
return 0;
}
}