C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で最初に出現してから少なくともK回出現する配列内のすべての要素をカウントします


このチュートリアルでは、最初に出現してから少なくともK回出現する配列内の要素の数を見つけるプログラムについて説明します。

このために、整数配列と値kが提供されます。私たちのタスクは、考慮している要素の後の要素の中でk回発生するすべての要素を数えることです。

#include <iostream>
#include <map>
using namespace std;
//returning the count of elements
int calc_count(int n, int arr[], int k){
   int cnt, ans = 0;
   //avoiding duplicates
   map<int, bool> hash;
   for (int i = 0; i < n; i++) {
      cnt = 0;
      if (hash[arr[i]] == true)
         continue;
      hash[arr[i]] = true;
      for (int j = i + 1; j < n; j++) {
         if (arr[j] == arr[i])
            cnt++;
         //if k elements are present
         if (cnt >= k)
            break;
      }
      if (cnt >= k)
         ans++;
   }
   return ans;
}
int main(){
   int arr[] = { 1, 2, 1, 3 };
   int n = sizeof(arr) / sizeof(arr[0]);
   int k = 1;
   cout << calc_count(n, arr, k);
   return 0;
}

出力

1

  1. C ++では最初の配列に存在し、2番目には存在しない要素を検索します

    2つの配列AとBがあるとします。要素はほとんどありません。セットAには存在するが、セットBには存在しない要素を見つける必要があります。そのような状況を考え、AとBをセットと見なすと、これは基本的にセット分割操作です。 AとBのセットの差により、これらの要素が返されます。 例 #include<iostream> #include<set> #include<algorithm> #include<vector> using namespace std; void setDiffResults(int A[], int B[], int An, i

  2. C ++の配列のすべての要素にXOR演算を適用して、配列の合計を最小化する

    説明 サイズの配列が与えられた場合、N。Xと配列の各要素を使用してXOR演算を実行するときに、配列要素の合計が最小になるように要素Xを見つけます。 If input array is: arr [] = {8, 5, 7, 6, 9} then minimum sum will be 30 Binary representation of array elments are: 8 : 1000 5 : 0101 7 : 0111 6 : 0101 9 : 1001 If X = 5 then after performing XOR sum will be 30: 8 ^ 5 = 13 5