""" 多数元素 给定一个数组,返回其中的多数元素。 多数元素是指在数组中出现次数大于二分之一的元素, 无多数元素则返回None。 """ import collections def majority_element(nums): """ 寻找数组中的多数元素。 使用摩尔投票算法来找到出现次数超过数组长度一半的元素。 如果不存在这样的元素,则返回None。 参数: nums (list): 一个整数列表。 返回: int or None: 数组中的多数元素,如果不存在则返回None。 """ # 使用Counter来统计每个元素的出现次数 ht = collections.Counter(nums) # 找到出现次数最多的元素 max_number = max(ht.keys(), key=ht.get) # 判断最多的元素是否满足多数元素的条件(出现次数超过数组长度的一半) result = max_number if ht[max_number] > len(nums) / 2 else None return result if __name__ == '__main__': nums = [2, 7, 7, 7, 1, 7, 6] print(majority_element(nums))
评论前必须登录!
注册