Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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

결론

튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.