首頁  >  文章  >  後端開發  >  PHP 程式求兩個相同大小的排序數組的中位數

PHP 程式求兩個相同大小的排序數組的中位數

王林
王林原創
2024-08-28 13:39:37662瀏覽

PHP Program for Median of two Sorted Arrays of Same Size

PHP(超文本預處理器)是一種流行的腳本語言,專為 Web 開發而設計。它廣泛用於創建動態和互動式網頁。 PHP 程式碼可以直接嵌入到 HTML 中,讓開發人員可以無縫地混合 PHP 和 HTML。 PHP 可以連接到資料庫、處理表單資料、產生動態內容、處理文件上傳、與伺服器互動以及執行各種伺服器端任務。

PHP 支援多種 Web 開發框架,例如 Laravel、Symfony 和 CodeIgniter,它們為建立 Web 應用程式提供了額外的工具和功能。 PHP 是一種開源語言,擁有大型社群、廣泛的文檔以及豐富的函式庫和擴展生態系統。

用於計算兩個相同大小的已排序數組的中位數的 PHP 程序

中位數是將資料集的上半部與下半部分開的值。要計算數組的中位數,您需要考慮排序數組的中間元素。

範例

雷雷

輸出

它將產生以下輸出:

雷雷

代碼說明

提供的程式碼實作了一個簡單的基於合併的解決方案,以查找兩個大小相同的已排序數組 $ar1 和 $ar2 的中位數。 getMedian 函數將兩個輸入數組和大小 n 作為參數。它初始化變數以追蹤當前指數、計數器和先前的中位數。它從 0 到 n 迭代計數,比較兩個數組中的元素。它根據比較結果相應地更新之前和當前的中位數。

此函數處理一個陣列的元素小於另一個陣列的元素的情況。最後,它透過對先前和當前中位數進行平均來傳回計算出的中位數。在提供的範例中,驅動程式程式碼會建立兩個陣列 $ar1 和 $ar2,並計算它們的大小。它呼叫 getMedian 函數來尋找陣列的中位數並列印結果。如果陣列的大小不相等,則會顯示錯誤訊息。

在範例中,$ar1 包含 [1, 3, 5, 7, 9, 11],$ar2 包含 [12, 10, 8, 6, 4, 2]。兩個數組的長度相同,因此演算法可以繼續進行。透過比較數組中的元素來進行迭代,並相應地更新中位數。最後,中位數計算為 (11 + 12) / 2,得出中位數為 11.5。因此,程式碼的輸出將是「Median is 11.5」。

結論

PHP 提供了一種基於合併的方法來尋找兩個相同大小的排序數組的中位數。透過合併數組並考慮中間的兩個元素,程式可以準確地確定中位數。它利用兩個索引來遍歷數組,比較元素並相應地更新中位數變數。

如果數組長度為偶數,則所得中位數為中間元素的平均值;若數組長度為奇數,則所得中位數為中間元素的平均值。這種高效的 O(n) 解決方案提供了一種可靠且簡單的方法,用於在 PHP 中計算兩個相同大小的排序數組的中位數。

以上是PHP 程式求兩個相同大小的排序數組的中位數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn