【发布时间】:2013-12-01 00:37:44
【问题描述】:
我正在编写一个函数来查找 Python 列表中的多数。
想如果我可以编写一个散列函数,可以将每个元素映射到新数组中的单个槽或唯一标识符,也许对于字典,那应该是最好的,它应该是可撤销的。我不知道如何进步。我的哈希函数显然没用,关于我可以/应该做什么的任何提示,或者这是否是一种合理的方法?
def find_majority(k):
def hash_it(q):
return q
map_of = [0]*len(k)
for i in k:
mapped_to = hash_it(i) #hash function
map_of[mapped_to]+=1
find_majority([1,2,3,4,3,3,2,4,5,6,1,2,3,4,5,1,2,3,4,6,5])
【问题讨论】:
-
您可能希望在 Python 中使用字典而不是手动哈希函数——该语言非常不鼓励您做这种事情。
-
您要查找最常见的元素还是主要元素(出现 N/2 次以上)?
标签: python arrays hash hashcode