2017.9.22
public class Solution {
/*
* @param nums: A list of integers
* @param k: An integer
* @return: The majority number
*/
public int majorityNumber(List<Integer> nums, int k) {
// write your code here
// write your code here
HashMap<Integer,Integer> map = new HashMap<>();
int size = nums.size();
if(size == 0){
return -1;
}
if(k <= 0){
return Integer.MIN_VALUE;
}
int count = size/k + 1;
Iterator itr = nums.iterator();
while(itr.hasNext()){
Integer tmp = (Integer)itr.next();
if(map.containsKey(tmp)){
int n = (int)map.get(tmp);
n ++;
map.put(tmp, n);
if(n >= count){
return tmp;
}
}
else{
map.put(tmp, 1);
}
}
return nums.get(0);
}
}