leetcode-169求众数

Posted tianyahai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-169求众数相关的知识,希望对你有一定的参考价值。

求众数

思路:

  记录每个元素出现的次数,然后查找到众数

代码:

  

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        threshold = len(nums) // 2
        d = {}
        for i in nums:
            d[i] = d.get(i, 0) + 1
        for k, v in d.items():
            if v > threshold:
                return k

大神思路:

  对数组排序。因为众数的次数大于数组尺寸的1/2,所以众数肯定位于已排序的中间

代码:

  

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        nums.sort()
        return nums[len(nums)//2]

 

以上是关于leetcode-169求众数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode--169--求众数

leetcode169 python3 92ms 求众数

Leetcode#169. Majority Element(求众数)

LeetCode 169. Majority Element (众数)

如何使用分治法求众数

求众数