当前位置:网站首页>剑指 Offer 39. 数组中出现次数超过一半的数字

剑指 Offer 39. 数组中出现次数超过一半的数字

2022-06-25 16:34:00 grt要一直一直努力呀

在这里插入图片描述

class Solution {
    
    public int majorityElement(int[] nums) {
    
        Arrays.sort(nums);
        return nums[nums.length/2];
    }
}

利用此种方法是可以通过的,但显然Arrays.sort不是本题考察的重点。

摩尔投票法
在这里插入图片描述

class Solution {
    
    public int majorityElement(int[] nums) {
    
        int x = 0, votes = 0;
        for(int num : nums){
    
            if(votes == 0) x = num;
            votes += num == x ? 1 : -1;
        }
        return x;
    }
}

题解

原网站

版权声明
本文为[grt要一直一直努力呀]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_44870115/article/details/125450699