三个月算法进阶--day37
目录
python max key
a = {1: 2, 2: 1}
max(a.keys(), key=lambda x: a[x])
max(a.keys(), key=a.get)
max(a, key=a.get)
a = [1, -2]
max(a, key=abs)
python sum
a = [1, -2]
sum(i for i in a)
随机找答案并验证
期望的时间复杂度
额外的数组空间与栈空间
经典分治法
摩尔投票法
leetcode第169题多数元素
候选人票数多当选众数
class Solution:
def majorityElement(self, nums):
count = 0
candidate = None
for num in nums:
if count == 0:
candidate = num
count += (1 if num == candidate else -1)
return candidate
对抗阶段:出现最多的n个数
计数阶段:验证是否超过一定数量以及是否相同
适用问题:至多选出m个代表,每个选票数大于n / (m + 1)