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

C++の連続する要素のソートされた配列で繰り返される要素のみの数


長さnの連続した数の配列が与えられます。配列には、複数回繰り返される番号が1つだけあります。目標は、その要素が配列内で繰り返される回数を取得することです。または、配列内の繰り返される要素の長さを見つけると言うこともできます。

配列をi=0からi

例を挙げて理解しましょう。

入力 − arr [] ={0,1,2,3,3,3}、N =6

出力 −繰り返される要素のみの数− 3

説明 −3はここで3回繰り返されます。

入力 − arr [] ={1,2,3,4,4,4,4,4,5,6}、N =10

出力 −繰り返される要素のみの数− 5

説明 −4はここで5回繰り返されます。

以下のプログラムで使用されているアプローチは次のとおりです

  • 1つの数値が繰り返される連続した数値で初期化された整数配列arr[]を使用します。

  • 変数lenは、配列の長さを格納します。

  • 関数findRepeat(int arr []、int n)は、配列とその長さを入力として受け取り、繰り返される要素の値と繰り返される要素の長さを表示します。

  • 初期カウントを0とします。

  • インデックスi=0からi

  • ループの終わりに、最後の要素の増分を1カウントします。

  • 値として繰り返される要素を表示します。

  • 繰り返し回数をカウントとして表示します。

#include <bits/stdc++.h>
using namespace std;
void findRepeat(int arr[],int n){
   int count=0; //count of repeated element
   int value=0; //to store repeated element
   for(int i=0;i<n;i++){
      if(arr[i]==arr[i+1]){
         count++;
         value=arr[i];
      }
   }
   count++; //for last element
   cout<<"Repeated Element: "<<value;
   cout<<endl<<"Number of occurrences: "<<count;
}
int main(){
   int Arr[]={ 2,3,4,5,5,5,6,7,8 };
   int len=sizeof(Arr)/sizeof(Arr[0]);
   findRepeat(Arr,len);
   return 0;
}

出力

上記のコードを実行すると、次の出力が生成されます-

Repeated Element: 5
Number of occurrences: 3

  1. C++でソートされた配列の多数決要素を確認します

    7/2と表示されます。 配列内のxの出現を数えることができ、その数がn / 2より大きい場合、答えはtrueになり、そうでない場合はfalseになります。 例 #include <iostream> #include <stack> using namespace std; bool isMajorityElement(int arr[], int n, int x){    int freq = 0;    for(int i = 0; i<n; i++){       if(arr[i]

  2. C ++のソートされた配列の絶対的な個別のカウント?

    配列は、同じデータ型の要素のコレクションです。 ソートされた配列 は、昇順または降順の順序で要素が格納されている配列です。 明確な数は、同じではない要素の数です。 絶対個別カウントは、要素の絶対値、つまり符号のない要素(符号なしの値)の個別カウントです。 このプログラムでは、ソートされた配列で絶対的な個別のカウントを見つけます。つまり、配列の各要素の絶対値を考慮した場合、個別の値の数をカウントします。 たとえば、 Input : [-3 , 0 , 3 , 6 ] Output : 3 配列には3つの異なる絶対値があり、要素は0、3、および6です。 これを解決するために、さまざまな