LeeCode中的MedianofTwoSortedArrays(PHP實現)
阿新 • • 發佈:2018-12-12
<?php /** * Created by PhpStorm. * User: jiangyu01 * Date: 2018/10/1 * Time: 11:13 * Title: * 給定兩個大小為 m 和 n 的有序陣列 nums1 和 nums2。 */ $arr1 = range(3,9); //構建有序陣列 $arr2 = range(4,12); /* * 中位數函式 */ function MedianofTwoSortedArrays($arrA = [], $arrB = []) { //空值判斷 if (empty($arrA) && empty($arrB)) { echo '引數陣列不能同時為空!'.PHP_EOL; } $arrC = array_merge($arrA,$arrB); //數組合並 sort($arrC); // 陣列升序排序 foreach ($arrC as $key){ //列印陣列 echo $key.' '; } $arr_size = count($arrC); //計算陣列大小 if ($arr_size <= 1){ //當陣列容量為一的時候直接返回 echo '中位數為:'.$arrC[$arr_size].PHP_EOL; }else{ $bin = count($arrC) / 2; //取中值下標 if (is_int($bin)){ echo '中位數為:'.(($arrC[$bin]+$arrC[$bin+1])/2).PHP_EOL; }else{ $bin = ceil($bin); //取中值下標 echo '中位數為:'.$arrC[$bin].PHP_EOL; } } } MedianofTwoSortedArrays($arr1, $arr2);