在 C++ 的只讀陣列中查詢任意一個重複元素


在本教程中,我們將編寫一個程式,該程式將在給定的陣列中找到重複元素。

讓我們來看看解決該問題的步驟。

  • 初始化陣列。

  • 初始化計數器對映,用於儲存陣列中每個元素的頻率。

  • 遍歷陣列。

    • 統計每個元素。

  • 列印頻率大於 1 的元素。

示例

讓我們看看程式碼。

 即時演示

#include <bits/stdc++.h>
using namespace std;
int findRepeatingElement(int arr[], int n) {
   map<int, int> frequencies;
   for (int i = 0; i < n; i++) {
      map<int, int>::iterator itr = frequencies.find(arr[i]);
      if (itr != frequencies.end()) {
         itr->second = itr->second + 1;
      }
      else {
         frequencies.insert({arr[i], 1});
      }
   }
   for (map<int, int>::iterator itr = frequencies.begin(); itr != frequencies.end(); ++itr) {
      if (itr->second > 1) {
         return itr->first;
      }
   }
}
int main() {
   int arr[] = {1, 2, 3, 3, 4, 5, 5, 6};
   cout << findRepeatingElement(arr, 8) << endl;
   return 0;
}

輸出

如果你執行上述程式碼,那麼你將得到以下結果

3

結論

如果您對本教程有任何疑問,請在評論部分中提及。

更新於: 01-Feb-2021

73 次檢視

職業騰飛

完成課程獲得認證

開始
廣告