169.E 多数元素

Problem: 169. 多数元素arrow-up-right

思路

摩尔投票法

核心思想:对拼消耗。

设置候选众数 candidate和计数 count,当计数为0时,更换候选众数为当前数字。

如果当前数字等于候选众数,计数加1,否则计数减1

遍历结束后,候选众数就是结果

Code

func majorityElement(nums []int) int {
    candidate := 0
    count := 0
    for _, num := range nums {
        if count == 0 {
            candidate = num
        }

        if candidate == num {
            count++
        } else {
            count--
        }
    }

    return candidate
}

Last updated