1.这是一道找众数的题目。
好多种解决办法。
- 暴力,循环解决;
- 用字典记录,然后找到value最大的值,O(n) = n * nlogn(排序);
- 直接排序,找到连续最多的数;
- 再就是分为左右两边去解决;
链接:
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