算法杂谈:关于算法的思考

题目1、两个有序数组,合并成一个有序数组

  解1: 

<?php
    function merge($arr_1, $arr_2){
        $arr_3 = [];
        $i = 0;
        $j = 0;
        while($i < count($arr_1) && $j < count($arr_2)){
            if($arr_1[$i] <= $arr_2[$j]){
                $arr_3[] = $arr_1[$i++];
            } else {
                $arr_3[] = $arr_2[$j++];
            }
        }
        for($t = $i; $t <count($arr_1); $t++){
            $arr_3[] = $arr_1[$t];
        }
        for($t = $j; $t < count($  arr_2); $t++){
            $arr_3[] = $arr_2[$t];
        }
        return $arr_3;
   }

    $arr_1 = [1, 3, 5, 7, 9, 11, 13, 15];
    $arr_2 = [1, 2, 4, 6, 8, 10];

    var_dump(merge($arr_1, $arr_2));

   解2:

<?php
    function merge($arr_1, $arr_2){
        $arr_3 = array_merge($arr_1, $arr_2);
        sort($arr_3);
        return $arr_3;
    }

    $arr_1 = [1, 3, 5, 7, 9, 11, 13, 15];
    $arr_2 = [1, 2, 4, 6, 8, 10];

    var_dump(merge($arr_1, $arr_2));

 

猜你喜欢

转载自www.cnblogs.com/onlycat/p/8991723.html