算法:在一個二維數組內求某個值所在的位置。【一個二維數組,已知裏面的一維數組長度都一樣,且是從左到右遞增,從上到下遞增。這時給一個數字n求這個n所在的位置】

//一個二維數組,已知裏面的一維數組長度都一樣,且是從左到右遞增,從上到下遞增。這時給一個數字n求這個n所在的位置寫一個算法。

$arr = array(
    array(1,2,3,4),
    array(2,3,4,5),
);

find_n($arr,5);
    function find_n($arr,$n){
        $i = count($arr)-1;
        $j = 0;
        while($i>=0&&$j<count($arr[0])){
            if($n>$arr[$i][$j]){
                $j++;
            }else if($n<$arr[$i][$j]){
                $i--;
            }else{
                echo 'i:'.$i.'=== j:'.$j;
                return;
            }
            
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章