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

C++で同じ合計を生成するペアの最大数


整数の配列が与えられます。目標は、追加されたときに同じ合計を生成するアレイ内のペアの最大数を見つけることです。そのようなペアの最大数を見つける必要があります。

入力

Arr[]= { 1,2,3,4,2 }

出力

Maximum count of pairs with same sum : 3

説明 −数値のペアの合計−

{1,2}, {1,2} Sum:3
{1,3},{2,2} Sum:4
{1,4},{2,3},{3,2} Sum:5
{2,4} Sum:6
{3,4} Sum:7
Maximum count of pairs with same sum is 3 ( for sum = 5 )

入力

Arr[]= { 5,3,6,1 }

出力

Maximum count of pairs with same sum : 1

説明 −数値のペアの合計−

{5,3} Sum:8
{5,6} Sum:11
{5,1} Sum:6
{3,6} Sum:9
{3,1} Sum:4
{6,1} Sum:7
Maximum count of pairs with the same sum is 1.

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

  • 整数配列Arr[]は、整数を格納するために使用されます。

  • 整数の「サイズ」は、配列の長さを格納します。

  • 関数countEqualSum(int arr []、int n)は、入力としてそのサイズの配列を受け取り、同じ合計を生成するペアの最大数を返します。

  • まず、「合計」配列を使用して、一意の合計の頻度を格納します。

  • 合計の各インデックスで、その要素のカウントをインクリメントします。

  • 配列の合計の各インデックスは、要素のペアの合計です。

  • 配列sum内のmax要素を検索してそのような最大数を見つけ、maxCに格納します。

  • 結果としてmaxCを返す

#include <bits/stdc++.h>
using namespace std;
// Function to return the maximum
// count of pairs with equal sum
int countEqualSum(int arr[], int n){
   int sum[20]={0};
   int maxC = 0;
   // Store counts of sum of all pairs
   for (int i = 0; i < n - 1; i++)
      for (int j = i + 1; j < n; j++){
         sum[ arr[i]+arr[j] ]++;
      }
      for(int i=0;i<20;i++)
         if(sum[i]>maxC)
            maxC=sum[i];
   return maxC;
}
int main(){
   int Arr[] = { 1,2,3,4,2 };
   int size = 5;
   cout <<”Maximum count of pairs which generate the same sum”
   << countEqualSum(Arr, size);
   return 0;
}

出力

Maximum count of pairs which generate the same sum : 3

  1. C++で指定された配列に合計が存在する個別のペアの数をカウントします

    たとえば、任意のサイズの整数値のarr []の配列が与えられます。タスクは、同じ配列にも合計が存在する、特定の配列で使用可能な個別のペアの数のカウントを計算することです。 配列は、同じタイプの要素の固定サイズの順次コレクションを格納できる一種のデータ構造です。配列はデータのコレクションを格納するために使用されますが、配列を同じタイプの変数のコレクションと考える方が便利な場合がよくあります。 覚えておくべきポイント ペアは、順序に関係なく、同じ要素で1回カウントされます。たとえば、(3,2)と(2,3)は1としてカウントされます。 配列内に複数回出現する数がある場合、それは1つのペ

  2. C++で最大回数発生するすべての合計ペアを出力します

    この問題では、n個の一意の整数の配列が与えられます。そして、最大頻度を持つ配列の2つの整数の合計を見つける必要があります。問題には複数の解決策があり、それらすべてを見つける必要があります。 Input : array = { 1, 12, 5, 7, 9, 11} Output : 16 12 説明 −合計16と12は2回発生します。 5 + 11 = 16 & 7 + 9 = 16 1 + 11 = 12 & 5 + 7 = 12 この問題を解決するために、この問題へのアプローチは、合計ペアごとに発生をチ​​ェックしてから、ペアを最大回数で出力することです。 問題を解決