题目
题目
找出出现的次数超过n/2的元素,我们每次都删除不同的两个元素,最后剩下的肯定就是了,但是有可能整个数组中都没有符合添加的元素,这样的话,我们就需要在进行判断一次
代码实现
class Solution { public int majorityElement(int[] nums) { int count=0; int host=0; for(int i=0;i<nums.length;i++) { if(count==0) { host=nums[i]; count=1; }else if(host==nums[i]) { count++; }else if(host!=nums[i]) { count--; } } count=0; for(int i=0;i<nums.length;i++) { if(nums[i]==host) { count++; } } return count>nums.length/2?host:-1; } }