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

参考:如何理解摩尔投票算法? - 喝七喜的回答 - 知乎
https://www.zhihu.com/question/49973163/answer/235921864


 public int majorityElement(int[] nums) {
        int flag=0;
        int count=0;
        for(int num:nums){
            if(count==0){
                flag=num;
                count++;
                continue;
            }
            if(num==flag){
                count++;
                continue;
            }
            else{
                count--;
            }
        }
        return flag;
    }
}

时间复杂度O(n) 空间复杂度O(1)
剑指 Offer 39. 数组中出现次数超过一半的数字java题解_第1张图片

你可能感兴趣的:(剑指Offer,leetcode,java,算法)