同じサイズの 2 つのソートされた配列の中央値を求める PHP プログラム

王林
リリース: 2024-08-28 13:39:37
オリジナル
572 人が閲覧しました

PHP Program for Median of two Sorted Arrays of Same Size

PHP (ハイパーテキスト プリプロセッサ) は、Web 開発用に設計された人気のスクリプト言語です。動的でインタラクティブな Web ページの作成に広く使用されています。 PHP コードは HTML に直接埋め込むことができるため、開発者は PHP と HTML をシームレスに混合できます。 PHP は、データベースへの接続、フォーム データの処理、動的コンテンツの生成、ファイルのアップロードの処理、サーバーとの対話、およびさまざまなサーバー側タスクの実行を行うことができます。

PHP は、Laravel、Symfony、CodeIgniter などの幅広い Web 開発フレームワークをサポートしており、Web アプリケーションを構築するための追加のツールや機能を提供します。 PHP は、大規模なコミュニティ、広範なドキュメント、ライブラリと拡張機能の豊富なエコシステムを備えたオープンソース言語です。

同じサイズでソートされた 2 つの配列の中央値を求める PHP プログラム

中央値は、データセットの上半分と下半分を分ける値です。配列の中央値を計算するには、ソートされた配列の中央の要素を考慮する必要があります。

リーリー

出力

次の出力が生成されます。

リーリー

コードの説明

提供されたコードは、同じサイズの 2 つの並べ替えられた配列 $ar1 と $ar2 の中央値を見つけるための単純なマージベースのソリューションを実装しています。 getMedian 関数は、2 つの入力配列とサイズ n をパラメーターとして受け取ります。現在のインデックス、カウンター、および以前の中央値を追跡するために変数を初期化します。カウントを 0 から n まで繰り返し、両方の配列の要素を比較します。比較結果に基づいて、以前の中央値と現在の中央値が更新されます。

この関数は、一方の配列の要素がもう一方の配列の要素よりも小さい場合を処理します。最後に、以前と現在の中央値を平均して計算された中央値を返します。提供されている例では、ドライバー コードは 2 つの配列 $ar1 と $ar2 を作成し、それらのサイズを計算します。 getMedian 関数を呼び出して配列の中央値を見つけ、結果を出力します。配列のサイズが異なる場合は、エラー メッセージが表示されます。

例では、$ar1 には [1, 3, 5, 7, 9, 11] が含まれ、$ar2 には [12, 10, 8, 6, 4, 2] が含まれます。両方の配列の長さが同じであるため、アルゴリズムは続行できます。反復は配列内の要素を比較することによって進行し、それに応じて中央値が更新されます。最後に、中央値は (11 + 12) / 2 として計算され、中央値は 11.5 になります。したがって、コードの出力は「中央値は 11.5」となります。

結論

PHP は、同じサイズでソートされた 2 つの配列の中央値を見つけるためのマージベースのアプローチを提供します。配列を結合し、中央の 2 つの要素を考慮することにより、プログラムは中央値を正確に決定します。 2 つのインデックスを利用して配列を走査し、要素を比較し、それに応じて中央値変数を更新します。

結果の中央値は、配列の長さが偶数の場合は中央の要素の平均であり、配列の長さが奇数の場合は中央の要素の平均です。この効率的な O(n) ソリューションは、PHP で同じサイズの 2 つの並べ替えられた配列の中央値を計算するための信頼性が高く簡単な方法を提供します。

以上が同じサイズの 2 つのソートされた配列の中央値を求める PHP プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!