[每日一题]169. Majority Element

1.这是一道找众数的题目。

好多种解决办法。

  • 暴力,循环解决;
  • 用字典记录,然后找到value最大的值,O(n) = n * nlogn(排序);
  • 直接排序,找到连续最多的数;
  • 再就是分为左右两边去解决;
169-majority-element.png

链接:
https://leetcode.com/problems/majority-element/

2.题解:

我喜欢用字典,用的是字典的解决方法。

class Solution(object):
    def majorityElement(self, nums):
        Maj = dict()
        for i in range(len(nums)):
            val = nums[i]
            if val in Maj:
                Maj[val] += 1
            else:
                Maj[val] = 1
        # print(Maj)
        return sorted(Maj, key=lambda x: Maj[x])[-1]
3.完整代码

查看链接:
https://github.com/Wind0ranger/LeetcodeLearn/blob/master/6-Recursive/169-majority-element.py

你可能感兴趣的:([每日一题]169. Majority Element)