所以,這是我在分配中被賦予了一個問題:在列表中找到最大元素
寫一個函數,大多數(一),即在發生至少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
爲什麼要測試數字是否與作爲字符串的目標相同? –