169 多数元素
思路:
- 哈希法,把所有数都存到一个hashMap中,找hashMap中出现次数大于n/2的数
- 排序,中位数
- 摩尔投票法
从第一个数开始count=1,遇到相同的数就+1,否则-1,如果count=0则换一个数,最后总能找到出现次数最多的数。
class Solution {
public int majorityElement(int[] nums) {
int count = 1;
int temp = nums[0];
for(int i=1;i<nums.length;i++) {
if(nums[i] == temp){
count ++;
} else{
count --;
if (count == 0){
temp = nums[i+1];
}
}
}
return temp;
}
}