background image

  return find($array, $low, $mid-1, $k);
  }else{

  return find($array, $mid+1, $high, $k);
  }

  }
  die('Not have...');

}
//test

$array = array(2,4,3,5);
$n = count($array);

$r = find($array,0,$n,
7、合并多个数组,不用 array_merge(),题目来于论坛。
思路:遍历每个数组,重新组成一个新数组。
<?php

function t(){
  $c = func_num_args()-1;

  $a = func_get_args();
  //print_r($a);

  for($i=0; $i<=$c; $i++){
  if(is_array($a[$i])){

  for($j=0; $j<count($a[$i]); $j++){
  $r[] = $a[$i][$j];

  }
  } else {

  die('Not a array!');
  }

  }
  return $r;

}
//test

print_r(t(range(1,4),range(1,4),range(1,4)));
echo '<br/>';

$a = array_merge(range(1,4),range(1,4),range(1,4));
print_r($a);

8、牛年求牛:有一母牛,到 4 岁可生育,每年一头,所生均是一样的母牛,到 15 岁绝育,不再能生,20 岁死亡,

n 年后有多少头牛。

<?php
function t($n) {

  static $num = 1
  for($j=1; $j<=$n; $j++){

  if($j>=4 && $j<15) {$num++;t($n-$j);}
  if($j==20){$num--;}

  }
  return $num;

}
//test

echo t(8);
这里是用

PHP 写的几个基础算法,算法的重要性貌似对于 PHP 程序员不怎么重要,其实是非常重要的,经典名句:

算法

+数据结构=程序。