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

C++ STL에서 Set을 사용하여 오른쪽에 있는 더 작은 요소 계산

<시간/>

이 튜토리얼에서는 C++ STL에서 set을 사용하여 오른쪽에 있는 작은 요소를 세는 프로그램에 대해 논의할 것입니다.

이를 위해 배열이 제공됩니다. 우리의 임무는 새로운 배열을 구성하고 현재 요소의 오른쪽에 더 작은 수의 요소를 해당 위치에 추가하는 것입니다.

예시

#include <bits/stdc++.h>
using namespace std;
void count_Rsmall(int A[], int len){
   set<int> s;
   int countSmaller[len];
   for (int i = len - 1; i >= 0; i--) {
      s.insert(A[i]);
      auto it = s.lower_bound(A[i]);
      countSmaller[i] = distance(s.begin(), it);
   }
   for (int i = 0; i < len; i++)
      cout << countSmaller[i] << " ";
}
int main(){
   int A[] = {12, 1, 2, 3, 0, 11, 4};
   int len = sizeof(A) / sizeof(int);
   count_Rsmall(A, len);
   return 0;
}

출력

6 1 1 1 0 1 0