今天有一道面試題就是這個問題,然後我自己的解決方法是這樣的:
var findmost = function
(arr)
}if(j==arr.length)
}console.log(arrl,arrn);//列印各個數出現的次數
//接下來判斷arrl陣列中最大的值了
maxl = arrl[0];
for(const i of arrl.keys())
findmost([1,2,3,4,5,2,2,34,4,5,322,3,4,54,34]);
然後面試官說我沒考慮時間複雜度(其實我是不懂時間複雜度這個東西),然後他提示我和雜湊表啥的思路,但是我還是不會,然後剛剛看了一下部落格,發現了乙個貌似感覺應該更簡單的方法,不知道是不是面試官說的那種(其實我是真的菜鳥)
//hash啊 說個思路,定義乙個物件obj,遍歷陣列, 物件的鍵為陣列的元素,值為出現的次數。然後遍歷這個物件,找出值為最大的那個。
function
findmost(arr)
// 遍歷陣列
for (var i=0,l=arr.length;iif (!res[arr[i]]) else
}// 遍歷 res
var keys = object.keys(res)
var maxnum = 0, maxele
for (var i=0,l = keys.length;iif (res[keys[i]] > maxnum)
}return maxnum
}
後面延伸問了乙個判斷兩個物件是否相同,嗯,我不會,我當時只是跟他講了一下思路,我好好理理。 求乙個陣列中出現次數最多的數
描敘 一大推資料裡面,數字與數字之間用空格隔開,找出出現次數最多的乙個數字的演算法 cpp view plain copy print?include void findmosttimesdigit int src int srclen if tempcount maxcount else if t...
找出乙個陣列中出現次數最多的那個元素
description 找出乙個陣列中出現次數最多的那個元素 input 多組輸入,請處理到檔案結束 每組第一行輸入乙個整數n 不大於20 第二行輸入n個整數 output 找出n個整數中出現次數最多的那個整數,資料保證答案唯一 sample input 41 2 2 3 sample output...
找出乙個列表中出現次數最多的元素
在實現knn演算法中遇到的問題,如何從乙個列表中找出出現次數最多元素,方法是 字典 字典get方法統計次數 字典排序找出最大。num list np.random.randint 0,10,100,np.int num dict 統計每個元素出現的次數 for i in range len numb...