Computer >> Máy Tính >  >> Lập trình >> C ++

Tìm bất kỳ một trong nhiều phần tử lặp lại trong mảng chỉ đọc trong C ++

Trong hướng dẫn này, chúng ta sẽ viết một chương trình tìm phần tử lặp lại trong mảng đã cho.

Hãy xem các bước để giải quyết vấn đề.

  • Khởi tạo mảng.

  • Khởi tạo bản đồ bộ đếm để lưu trữ tần suất của từng phần tử trong mảng.

  • Lặp lại trên mảng.

    • Đếm từng phần tử.

  • In phần tử có tần số lớn hơn 1.

Ví dụ

Hãy xem mã.

#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;
}

Đầu ra

Nếu bạn chạy đoạn mã trên, thì bạn sẽ nhận được kết quả sau

3

Kết luận

Nếu bạn có bất kỳ câu hỏi nào trong hướng dẫn, hãy đề cập đến chúng trong phần bình luận.