找出數組中出現次數超過一半的數(時間複雜度O(n))

題目:如何在O(n)的時間複雜度內找出數組中出現次數超過了一半的數。 因爲本題對時間複雜度有要求,因此可採用如下2種方法。ios 方法一:每次取出兩個不一樣的數,剩下的數字中重複出現的數字確定比其餘數字多,將規模縮小化。若是每次刪除兩個不一樣的數(無論包括不包括最高頻數),那麼在剩餘的數字裏,原最高頻數出現的頻率同樣超過了50%,不斷重複這個過程,最後剩下的將全是一樣的數字,即最高頻數。此算法避免
相關文章
相關標籤/搜索