剣はオファー39を指します。配列に半分以上の時間で表示される数

剣はオファー39を指します。配列に半分以上の時間で表示される数

タイトル説明

ここに画像の説明を挿入

問題解決のアイデア

ムーア投票

ここに画像の説明を挿入

class Solution {
    
    
    public int majorityElement(int[] nums) {
    
    
        int mostNum = 0, votes = 0;

        for (int num : nums) {
    
    
            //票数为0,则选取当前的新元素为众数
            if (votes == 0) {
    
    
                mostNum = num;
                votes++;
            } else {
    
    
                //如果当前元素等于众数,则票数加1,否则减1
                votes += (num == mostNum) ? 1 : -1;
            }
        }
        return mostNum;
    }
}

おすすめ

転載: blog.csdn.net/cys975900334/article/details/115254580