题目分析
- 只要一个元素的数量多于其他元素,那么在“对对碰”环节一定会生存下来
- 这个题目一定有解,如果没有解的情况,需要使用time在进行一次判断
- 如果是三个元素,就使用两个标志
Java代码
public int majorityElement(int[] nums) {
int time = 1;
int number = nums[0];
for(int i=1;i<nums.length;i++){
if(number == nums[i]){
time++;
}else{
if(time == 0){
number = nums[i];
time = 1;
}else{
time--;
}
}
}
return number;
}