169. 求众数

https://leetcode-cn.com/problems/majority-element/

解法一:

先假设众数为0号元素,初始计数器为1。从1号开始遍历数组,遇到与众数相等的数,计数器+1,否则-1。当计数器为0时,更新众数为当前元素。

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        n = len(nums)
        count = 1  #计数器
        res = nums[0]  #初始结果为第0号
        #边界
        if n == 1:
            return res
        #从1开始
        for i in range(1, n):
            if count == 0:
                res = nums[i]
            if nums[i] == res:
                count += 1
            else:
                count -= 1
        return res

最后更新于