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

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

摩尔投票法

class Solution {
    public int majorityElement(int[] nums) {
        int res = nums[0];
        int cnt = 1;
        for(int i = 1; i < nums.length; i++){
            if(nums[i] == res) cnt++;
            else cnt--;
            if(cnt < 0){
                res = nums[i];
                cnt = 1;
            } 
        }
        return res;
    }
}

你可能感兴趣的:(#,剑指offer,算法)