找出乙個陣列中出現次數最大的數

2021-09-08 09:40:09 字數 997 閱讀 4719

描敘:一大堆資料裡面,數字與數字之間用空格隔開,找出出現次數最多的乙個數字的演算法

#includevoid findmosttimesdigit(int *src , int srclen)

} if(tempcount > maxcount)

else if(tempcount == maxcount)

}printf("出現最多的次數:%d\n" , maxcount);

for(i = 0 ; i <= maxnum ; ++i)

printf("\n");

}int main()

;

int length =sizeof(list) / sizeof(int);

findmosttimesdigit(list, length);

return 0;

}

c++解法如下:

1 #include2 #include3 #include4

using

namespace

std;56

intmain()716

17for(map::iterator iter = word_count.begin() ; iter != word_count.end() ; ++iter)

18 cout<<(*iter).first<<"

\t\t"19

<<(*iter).second<2021

return0;

22 }

更簡潔的方法如下:

1 #include2 #include3 #include4

using

namespace

std;56

intmain()

7

網上看到一哥們也寫了類似的東西:

找出乙個陣列中出現次數最多的那個元素

description 找出乙個陣列中出現次數最多的那個元素 input 多組輸入,請處理到檔案結束 每組第一行輸入乙個整數n 不大於20 第二行輸入n個整數 output 找出n個整數中出現次數最多的那個整數,資料保證答案唯一 sample input 41 2 2 3 sample output...

求乙個陣列中出現次數最多的數

描敘 一大推資料裡面,數字與數字之間用空格隔開,找出出現次數最多的乙個數字的演算法 cpp view plain copy print?include void findmosttimesdigit int src int srclen if tempcount maxcount else if t...

找出陣列中出現次數超過一半的數

分析 最直接的方法,對陣列中所有的數排序,然後再掃瞄一遍,統計各個數出現的次數。如果某個數出現的次數超過一半,則輸出這個數。演算法的時間複雜度是o n log 2n n 如果每次刪除兩個不同的數,那麼,在剩下的數字裡,超過一半的數的個數一樣超過了50 不斷重複這個過程,最後剩下的即 為所求。無需避免...