美文网首页
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