//一个二维数组,已知里面的一维数组长度都一样,且是从左到右递增,从上到下递增。这时给一个数字n求这个n所在的位置写一个算法。
# 示例数组
$arr = array(
array(1,2,3,4),
array(2,3,4,5),
);# 假设我们要找到 数字 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;
}
}
}