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

C++の多数決要素


配列があるとします。与えられた数xがその配列の多数決要素であるかどうかをチェックする必要があります。配列がソートされます。 1つの要素は、配列にn / 2回出現する場合、多数決要素であると言われます。配列が{1、2、3、3、3、3、6}、x =3のようなものであるとすると、3は配列の多数決要素であるため、答えは真です。 3は4つあります。配列のサイズは7なので、4>7/2と表示されます。

配列内のxの出現を数えることができ、その数がn / 2より大きい場合、答えはtrueになり、そうでない場合はfalseになります。

例(C ++)

#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] == x )
         freq++;
      if(arr[i] > x)
         break;
   }
   return (freq > n/2);
}
int main() {
   int arr[] = {1, 2, 3, 3, 3, 3, 6};
   int n = sizeof(arr)/sizeof(arr[0]);
   int x = 3;
   if (isMajorityElement(arr, n, x))
      cout << x << " is the majority element of the array";
   else
      cout << x << " is not the majority element of the array";
}

入力

[1, 2, 3, 3, 3, 3, 6]
3

出力

3 is the majority element of the array

  1. Javaのマジョリティ要素

    整数の配列を指定したとしましょう。タスクは、指定された配列内の特定の要素のインデックスを見つけることです。たとえば、 入力-1 − N = 8 A[ ] = { 1,2,4,3,3,1,1,5} 出力 − 1 説明 −与えられた整数の配列で、最も多く現れる数は「1」です。したがって、出力は「1」です。 入力-2 − N = 6 A[ ] = {1,5,4,4,1,1} 出力 − 1 説明 −与えられた整数の配列で、最も多く現れる数は「1」です。したがって、出力「1」を返すことができます。 この問題を解決するためのアプローチ 指定された配列には複数の整数が含まれており、配列

  2. Pythonのマジョリティ要素

    整数の配列があるとしましょう。タスクは、指定された配列内の特定の要素のインデックスを見つけることです。たとえば、 入力-1 − N = 8 A[ ] = { 1,2,4,3,3,1,1,5} 出力 − 1 説明 −与えられた整数の配列で、最も多く現れる数は「1」です。したがって、出力は「1」です。 入力-2 − N = 6 A[ ] = {1,5,4,4,1,1} 出力 − 1 説明 −与えられた整数の配列で、最も多く現れる数は「1」です。したがって、出力「1」を返すことができます。 この問題を解決するためのアプローチ 指定された配列には複数の整数が含まれており、配列内に