229. 求众数 II

给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。

说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。

示例 1:

输入: [3,2,3]
输出: [3]
示例 2:

输入: [1,1,1,3,3,2,2,2]
输出: [1,2]

参考代码:

class Solution:
    def majorityElement(self, nums):
        list1 = []
        for i in set(nums):
            counter = 0
            for b in nums:
                if b == i:
                    counter += 1
            if counter > len(nums) // 3:
                list1.append(i)
                counter = 0
        return list1


s = Solution()
a = s.majorityElement([1,2,3])
print(a)
posted @ 2020-05-26 10:06  HackerEarl  阅读(117)  评论(0编辑  收藏  举报