收藏 分销(赏)

2021年php经典算法面试必备.doc

上传人:二*** 文档编号:4576770 上传时间:2024-09-30 格式:DOC 页数:9 大小:87.54KB
下载 相关 举报
2021年php经典算法面试必备.doc_第1页
第1页 / 共9页
亲,该文档总共9页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、有5个人偷了一堆苹果,准备在第二天分赃。晚上,有一人遛出来,把所有菜果提成5份,但是多了一种,顺手把这个扔给树上猴了,自己先拿1/5藏了。没想到其她四人也都是这样想,都如第一种人同样提成5份把多那一种扔给了猴,偷走了1/5。第二天,人们分赃,也是提成5份多一种扔给猴了。最后一人分了一份。问:共有多少苹果?for($i=1;$i+)if($i%5=1)/第一种人取五分之一,还剩$t$t=$i-round($i/5)-1;if($t%5=1)/第二个人取五分之一,还剩$r$r=$t-round($t/5)-1;if($r%5=1)/第三个人取五分之一,还剩$s$s=$r-round($r/5)-1

2、;if($s%5=1)/第四个人取五分之一,还剩$x$x=$s-round($s/5)-1;if($x%5=1)/第五个人取五分之一,还剩$y$y=$x-round($x/5)-1;if($y%5=1)echo$i;break;一群猴子排成一圈,按1,2,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它背面再开始数,再数到第m只,在把它踢出去,如此不断进行下去,直到最后只剩余一只猴子为止,那只猴子就叫做大王。规定编程模仿此过程,输入m、n,输出最后那个大王编号。functionking($n,$m)$monkeys=range(1,$n);$i=0;$k=$n;while(coun

3、t($monkeys)1)if($i+1)%$m=0)unset($monkeys$i);elsearray_push($monkeys,$monkeys$i);unset($monkeys$i);$i+;returncurrent($monkeys);$a=king(5,2);var_dump($a);汉诺塔(又称河内塔)问题是印度一种古老传说。开天辟地神勃拉玛在一种庙里留下了三根金刚石棒,第一根上面套着64个圆金片,最大一种在底下,别的一种比一种小,依次叠上去,庙里众僧不倦地把它们一种个地从这根棒搬到另一根棒上,规定可运用中间一根棒作为协助,但每次只能搬一种,并且大不能放在小上面。解答成果

4、请自己运营计算,程序见尾部。面对庞大数字(移动圆片次数),看来,众僧们耗尽毕生精力也不也许完毕金片移动。日后,这个传说就演变为汉诺塔游戏:1.有三根杆子A,B,C。A杆上有若干碟子2.每次移动一块碟子,小只能叠在大上面3.把所有碟子从A杆所有移到C杆上通过研究发现,汉诺塔破解很简朴,就是按照移动规则向一种方向移动金片:如3阶汉诺塔移动:AC,AB,CB,AC,BA,BC,AC此外,汉诺塔问题也是程序设计中典型递归问题。functionhanoi($n,$x,$y,$z)if($n=1)echomovedisk1from.$x.to.$z.n;elsehanoi($n-1,$x,$z,$y);e

5、chomovedisk.$n.from.$x.to.$z.n;hanoi($n-1,$y,$x,$z);hanoi(3,A,B,C);使用PHP描述冒泡排序和迅速排序算法,对象可以是一种数组/对数组冒泡排序functionbubble_sort($array)$count=count($array);if($count=0)returnfalse;for($i=0;$i$i;$j)if($array$j$array$j-1)$tmp=$array$j;$array$j=$array$j-1;$array$j-1=$tmp;return$array;/迅速排序functionquick_sort

6、($array)if(count($array)=1)return$array;$key=$array0;$left_arr=array();$right_arr=array();for($i=1;$icount($array);$i+)if($array$i=$key)$left_arr=$array$i;else$right_arr=$array$i;$left_arr=quick_sort($left_arr);$right_arr=quick_sort($right_arr);returnarray_merge($left_arr,array($key),$right_arr);使用P

7、HP描述顺序查找和二分查找算法,顺序查找必要考虑效率,对象可以是一种有序数组/使用二分查找数组中某个元素functionbin_sch($array,$low,$high,$k)if($low=$high)$mid=intval($low+$high)/2);if($array$mid=$k)return$mid;elseif($k$val)$keysvalue$key=$val$keys;if($order=0)asort($keysvalue);elsearsort($keysvalue);reset($keysvalue);foreach($keysvalueas$key=$vals)$keysort$key=$key;$new_array=array();foreach($keysortas$key=$val)$new_array$key=$arr$val;return$new_array;

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服