面试题总结(一)

来源:互联网 发布:柜子设计软件手机 编辑:程序博客网 时间:2024/05/22 15:38

很偶然的机会开始接触编程,很无奈的需要继续面试找工作,废话不多说了,上题。

  面试的时候需要做几道笔试题,贴出来的目的是为了做个笔记。我只是根据我的理解和现有掌握的知识回答问题,也许不是最优解,也许也存在错误,希望高手不要笑话,对于一些错误也希望高手不吝指教,多谢。

 

问题1
有一辆火车以每小时15公里的速度离开北京直奔广州,同时另一辆火车每小时20公里的速度从广州开往北京,如果有一只鸟,以30公里每小时的速度和两辆火车同事启动,从北京出发,碰到另一辆车后就向相反的方向返回去费,就这样依次在两辆火车之间来回的飞,知道两辆火车相遇。请问,这只鸟工飞行了多长距离?
解:设北京和广州之间的距离为L,这只鸟飞行的距离是 L/(15+20)*30

问题2
编写一个交错合并列表 元素的函数。例如:给定两个列表为[a, B, C] 和 [1,2,3],函数返回[a,1,B,2,C,3]。
解:

复制代码
1 <?php2 $a = array('a', 'b', 'c');3 $b = array('1', '2', '3');4 $c = array();5 foreach ($a as $key => $value) {6     array_push($c, $a[$key], $b[$key]);7 }8 var_dump($c);9 ?>
复制代码

 

问题3
编写一个能给定非负整数列表中的数字排列成最大数字的函数。例如,给定[50,2,1,9],最大数字为95201。

复制代码
<?php$arr = array(50,2,1,9);$tmp;for($i=0;$i<count($arr)-1;$i++ ){    for($j=0;$j<count($arr)-1-$i;$j++){         if(strlen($arr[$j])==1){            $a = $arr[$j] . '0';        }else{            $a = $arr[$j];        }        if(strlen($arr[$j+1])==1){            $b = $arr[$j+1] . '0';        }else{            $b = $arr[$j+1];        }        if($a < $b){            $tmp = $arr[$j];            $arr[$j] = $arr[$j+1];            $arr[$j+1] = $tmp;        }     }}var_dump($arr);?>                                    
复制代码

 

问题4
编写一个在1,2,...,9(顺序不能变)数字之间插入+或者-或什么都不插入,使得计算结构总是100的程序,并输出所有的可能性。例如:1+2+34-5+67-8+9=100

  还没想好怎么做,希望会做的朋友们给点帮助。

0 0
原创粉丝点击