美文网首页
169. Majority Element python3

169. Majority Element python3

作者: cca1yy | 来源:发表于2018-12-16 19:05 被阅读0次
题目截图

题目翻译

给定大小为n的数组,查找多数元素。多数元素是出现次数超过 n/2 次的元素。

可以假定数组是非空的,并且多数元素始终存在于数组中。

题目思路1

  1. 使用collections模块的Counter()类统计数组中每个元素出现的次数 num 。
  2. 依次将每个元素出现的次数 num 与 n/2 比较,若大于 n/2 则返回当前元素,若小于 n/2 则检查下一个元素。

代码如下:

class Solution(object):
    def majorityElement(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        import collections
        key_dict = {}
        key_dict = collections.Counter(nums)
        for key, count in key_dict.items():
            if count > len(nums) / 2:
                return key
            else:
                key += 1

程序的时间复杂度为 O(n).

PS

新手刷leetcode, 如有错误和建议请帮忙指出,谢谢。

相关文章

网友评论

      本文标题:169. Majority Element python3

      本文链接:https://www.haomeiwen.com/subject/lupxkqtx.html