思路
- 本题主要考察的是map数组的使用,唯一的小技巧是在往map中添加元素的时候,时刻的判断着 某个元素的数量是否超过总数的的 1/3
代码
public int majorityNumber(List<Integer> nums) {
Map<Integer, Integer> hash = new HashMap<Integer, Integer>();
Integer temp, count;
for (int i = 0; i < nums.size(); i++) {
temp = nums.get(i);
count = hash.get(temp);
if (count != null) {
count++;
if (count > nums.size() / 3) {
return temp;
}
hash.put(temp, hash.get(temp)+1);
}else {
hash.put(temp, 1);
}
}
return -1;
}