词条信息

admin
超级管理员
版本创建者 发短消息   
简易百科旧版 >> PHP面试常出现的小算法总结 >> 历史版本

最新历史版本 :PHP面试常出现的小算法总结 返回词条



在我们phper去面试时都会碰到一些小算法题,下面我来总结一下可能碰到的一些PHP面试常出现的小算法总结,代码如下:

<?php 
  //打印一个三角形 
  for($i=0;$i<=3;$i++) 
  { 
  for($j=0;$j<=3-$i;$j++){ 
  echo ‘&nbsp;’; 
  } 
  for($k=0;$k<=2*$i;$k++) 
  { 
  echo “*”; 
  } 
  echo ‘<br>’; 
  } 
  ?> 
  <?php 
  //杨辉三角 
  for($i=0;$i<6;$i++) 
  { 
  //第一个和最后一个都为1 
  $a[$i][0]=1; 
  $a[$i][$i]=1; 
  } 
  for($i=2;$i<6;$i++){ 
  for($j=1;$j<$i;$j++) 
  { 
  $a[$i][$j]=$a[$i-1][$i-1]+$a[$i-1][$j]; 
  } 
  } 
  for($i=0;$i<6;$i++) 
  { 
  for($j=0;$j<=$i;$j++){ 
  echo $a[$i][$j].’&nbsp;’; 
  } 
  echo ‘<br/>’; 
  } 
  ?> 
  <?php 
  //合并多个数组 
  function t(){ 
  $c=func_num_args()-1;//返回传递给函数的参数个数 
  $a=func_get_args();//返回一个数组,包括函数的参数列表 
  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; 
  } 
  print_r(t(range(1,4),range(1,4),range(1,4))); 
  ?> 
  <?php 
  //求牛 
  function cow($num,$y) 
  { 
  for($j=1;$j<$y;$j++) 
  { 
  if($j>=4 && $j<15) 
  { 
  $num++; 
  cow($num,$y-$j); 
  } 
  if($j==20) 
  $num–; 
  } 
  return $num; 
  } 
  echo cow(2,2); 
  ?> 
  <?php 
  //顺序查找(数组里查找某个元素) 
  function seq_sch($array,$n,$k)//在某个位置之前查找某元素(不包括指定位置) 
  { 
  $array[$n]=$k; 
  for($i=0;$i<$n;$i++) 
  { 
  if($array[$i]==$k) 
  break; 
  } 
  if($i<$n) 
  return $i; 
  else 
  return -1; 
  } 
  $array=array(‘a’,'b’,'c’); 
  echo seq_sch($array,2,’b'); 
  ?> 
  <?php 
  function show($i) 
  { 
  if($i==1) 
  return 1; 
  else 
  return $i*show($i-1); 
  } 
  echo “<br>”; 
  echo show(3); 
  ?> 
  <?php 
  function b($n) 
  { 
  if($n<2) 
  return $n; 
  else 
  return b($n-1)+show($n-2); 
  } 
  echo b(2); 
  ?>