所以,这是我在分配中被赋予了一个问题:在列表中找到最大元素
写一个函数,大多数(一),即在发生至少len个返回一个值( )// 2 + 1次。如果a中不存在这样的元素,则该函数返回None。
作业中的想法是想出最快的方式。
我的想法是保存一个字典,其中包含每个元素的计数,然后遍历字典以查看是否有任何元素具有len(a)// 2 +1的计数。
但是,这似乎并没有很好的工作。有人能给我一个更好的解决方案并向我解释吗?出于某种原因,这让我疯狂。
这是我不好的结构化代码:
numTimes = dict()
target = (len(a)//2)+1
for i in range(0, len(a)):
numTimes[str(a[i])] += 1
for k, v in numTimes.iteritems():
if v==str(target):
return v
return None
是什么驱使我疯狂的方式,渐渐的关键错误,当我尝试添加一个新的字典元素,虽然这有什么好做的问题。
有趣的问题!你能提供一个你的字典的例子吗?在不知道数据结构如何的情况下,很难回答处理数据结构的问题。 – rickcnagy
添加了代码。 – user2417731
为什么要测试数字是否与作为字符串的目标相同? –