ホームページ >バックエンド開発 >PHPチュートリアル >配列が与えられた場合、サイズ 3 の逆ペアの数を数える PHP プログラムを作成します。

配列が与えられた場合、サイズ 3 の逆ペアの数を数える PHP プログラムを作成します。

PHPz
PHPz転載
2023-09-02 19:49:07612ブラウズ

配列が与えられた場合、サイズ 3 の逆ペアの数を数える PHP プログラムを作成します。

逆方向カウントは、特定の配列に対して実行されたソート ステップの数をカウントできるステップ カウント方法です。アレイの動作時間を計算することもできます。しかし、配列を逆の方法で並べ替える場合、カウントは配列内に存在する最大数になります。

リーリー

反転カウントは、特定の配列が昇順でのソートからどれだけ離れているかを示します。この状況と解決策を説明する 2 つの具体的な手順を次に示します -

  • より小さい要素を見つけるには - 配列からより小さい要素を見つけるには、インデックスを n-1 から 0 まで繰り返す必要があります。 (a[i]-1) を適用することで、ここで getSum() を計算できます。プロセスは a[i]-1 に達するまで実行されます。

  • より大きな数値を見つけるには - インデックスからより大きな数値を見つけるには、0 から n-1 までの反復を実行する必要があります。各要素について、a[i] までの各数値を計算する必要があります。 iからそれを引きます。次に、a[i] より大きい数を取得します。

配列内のサイズ 3 の反転を計算するアルゴリズム: -

このアルゴリズムでは、特定のプログラミング環境で指定された配列のサイズ 3 の反転を計算する方法を学びます。

  • ステップ 1 - 始めましょう

  • ステップ 2 - 配列を宣言し、カウントを反転します (arr[] --> 配列と invCount --> カウントを反転するなど)

  • ステップ 3 - 内部ループ y=x 1 から N

  • ステップ 4 - x の要素が y の要素より大きい場合インデックス

  • ステップ 5 - 次に、invCount を増やします

  • ステップ 6 - ペアを印刷します

  • ステップ 7 - 終了

配列内のサイズ 3 の反転を計算するための構文: -

次の条件が満たされる場合、ペア (A[i], A[j]) は反転状態にあると言われます: A[i] > A[j] および i

C実装

リーリー

Java 実装

リーリー

Python の実装

リーリー

PHP実装

リーリー

ここでは、指定された配列のサイズ 3 の反転を計算するための可能な構文について説明しました。この方法の場合、時間計算量: O(N^2) (N は配列の合計サイズ)、空間計算量: O(1) (余分なスペースが使用されないため)。

従うべき方法:-

  • 方法 1 - 指定された配列内のサイズ 3 の反転をプログラムで計算し、サイズ 3 の反転を計算します

  • 方法 2 - サイズ 3 の反転を計算するより良い方法

  • 方法 3 - バイナリ インデックス ツリーを使用してサイズ 3 の反転を計算します

サイズ 3 の反転を計算するプログラムで、指定された配列内のサイズ 3 の反転をカウントします。

サイズ 3 の反転を計算する簡単な方法では、i、j、k のすべての可能な値に対してループを実行する必要があります。時間計算量は O(n^3) で、O(1) は補助空間を反映します。

要件は次のとおりです:

a[i] > a[j] > a[k] および i

例 1

リーリー ###出力### リーリー

サイズの反転を計算するより良い方法 3

このメソッドでは、配列の各要素を反転された中央の要素として扱います。複雑さを軽減するのに役立ちます。このアプローチの場合、時間計算量は O(n^2) で、補助空間は O(1) です。

例 2

リーリー ###出力### リーリー

バイナリ インデックス ツリーを使用してサイズ 3 の反転を計算します

この方法では、大きい要素と小さい要素もカウントします。次に、greater[] と small[] の乗算を実行し、それを最終結果に加算します。ここでの時間計算量は O(n*log(n)) であり、補助空間は O(n) で表されます。

例 3

リーリー ###出力### リーリー ###結論は###

この記事では、指定された配列のサイズ 3 の反転を計算する方法を説明します。この記事と、特定の言語を使用した言及されたコードを通じて、この主題について幅広い理解が得られたことを願っています。

以上が配列が与えられた場合、サイズ 3 の逆ペアの数を数える PHP プログラムを作成します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。