我想寫一個遞歸函數來查找整數數組中的重複項。例如,如果數組是:{4,1,4,3,2,3},它應該返回2. 我嘗試了類似mergesort的方法,但沒有成功。有人可以幫忙嗎?遞歸的方式來查找C中的重複項在C
我嘗試(與有序陣列只適用):
int count(int arr[], int bot, int top){
if(bot==top) return 0;
else{
int med = (bot+top)/2;
int n = count(arr, bot, med) + count(arr, med+1, top);
if(arr[med]==arr[med+1]) n++;
return n;
}
}
歡迎使用堆棧溢出,請考慮使用[SSCCE](http://stackoverflow.com/help/mcve)發佈關於特定程序問題的問題。謝謝。 – zmo
@餘浩我沒有放,因爲我認爲不會改進。我認爲它需要一個不同的算法。無論如何,我剛剛更新了這篇文章。 – Brontolo
預期結果究竟是什麼?每個條目的出現次數的最大值? – Codor