求陣列中反覆次數最多的元素

2021-09-07 11:53:05 字數 452 閱讀 3041

比如:陣列a=。元素2、3、7、8各出現1次。1出現兩次。5出現4次,則反覆次數最多的元素為5.

定義乙個陣列int cnt[max],將其元素所有初始化為0。然後遍歷陣列a。執行cnt[a[i]]++操作。最後在cnt陣列中找最大的數。相應的數即為反覆次數最多的數。

**示比例如以下:

//以空間換時間,索引法

int maxfreq_index(int a,int n)

}return

max;

}

使用map鍵值對來記錄元素的出現次數。鍵為元素。值為鍵相應出現的次數。

時間複雜度為o(n)。

#include 

...int maxfreq_map(int a,int n)

求陣列中重複次數最多的元素

例如 陣列a 元素2 3 7 8各出現1次,1出現兩次,5出現4次,則重複次數最多的元素為5.定義乙個陣列int cnt max 將其元素全部初始化為0。然後遍歷陣列a,執行cnt a i 操作。最後在cnt陣列中找最大的數,對應的數即為重複次數最多的數。示例如下 以空間換時間,索引法 int ma...

C 找出陣列中重複次數最多的數值

給定乙個int陣列,裡面存在重複的數值,如何找到重複次數最多的數值呢?這是在某社群上有人提出的問題,我想到的解決方法是分組。1 先對陣列中的所有元素進行分組,那麼,重複的數值肯定會被放到一組中 2 將分組進行排序,排序條件是分組中的元素個數 3 元素數量最多的那個分組中的數值就是重複次數最多的。基於...

java實現列印list中重複次數最多的前n個資料

如 list中有1,3,4,5,1,7,5,3,4,2,1,5,1 當輸入輸入引數n為1時,列印1 當輸入引數n為2時,列印1,5 public void printtopn listnumbers,int n else 將統計出來的map進行處理 map resultmap new hashmap...