百度面试题及答案

百度面试题及答案

ID:36590307

大小:46.00 KB

页数:9页

时间:2019-05-12

百度面试题及答案_第1页
百度面试题及答案_第2页
百度面试题及答案_第3页
百度面试题及答案_第4页
百度面试题及答案_第5页
资源描述:

《百度面试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、百度技术研发笔试题目/*百度面试题*有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。*木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,*但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。*编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。***分析:题目中的蚂蚁只可能相遇在整数点,不可以相遇在其它点,比如3.5cm处之类的,也就是可以让每只蚂蚁走1秒,然后*查看是否有相遇的即可.**这样我的程序实现思路就是,初始化

2、5只蚂蚁,让每只蚂蚁走1秒,然后看是否有相遇的,如果有则做相应处理.当每只蚂蚁都*走出木杆时,我就记录当前时间.这样就可以得到当前状态情况下,需要多久可以走出木杆,然后遍历所有状态则可以得到所胡*可能.*/packagebaidu;publicclassAnt{/**step表示蚂蚁每一个单位时间所走的长度*/privatefinalstaticintstep=1;/**position表示蚂蚁所处的初始位置*/privateintposition;/**direction表示蚂蚁的前进方向,如果为1表示向27厘米的方向走,如果为-1,则表示往0的方向走。*

3、/privateintdirection=1;/**此函数运行一次,表示蚂蚁前进一个单位时间,如果已经走下木杆则会抛出异常*/publicvoidwalk(){if(isOut()){thrownewRuntimeException("theantisout");}position=position+this.direction*step;};/***检查蚂蚁是否已经走出木杆,如果走出返回true**/publicbooleanisOut(){returnposition<=0

4、

5、position>=27;}/***检查此蚂蚁是否已经遇到另外一只蚂蚁*@pa

6、ramant*@return如果遇到返回true*/publicbooleanisEncounter(Antant){returnant.position==this.position;}/***改变蚂蚁的前进方向*/publicvoidchangeDistation(){direction=-1*direction;}/***构造函数,设置蚂蚁的初始前进方向,和初始位置*@paramposition*@paramdirection*/publicAnt(intposition,intdirection){this.position=position;if(

7、direction!=1){this.direction=-1;//方向设置初始位置,比如为0时,也将其设置为1.这样可以方便后面的处理}else{this.direction=1;}}}/////////////////////////////////////////////////////////packagebaidu;publicclassController{publicstaticvoidmain(String[]args){inttime=0;for(inti=0;i<32;i++){Ant[]antArray=getAntList(getPo

8、istions(),getDirections(i));while(!isAllOut(antArray)){for(Antant:antArray){if(!ant.isOut()){ant.walk();}}time++;//查看是否有已经相遇的Ant,如果有则更改其前进方向dealEncounter(antArray);}System.out.println(time);//将时间归0,这样可以重新设置条件,再次得到全部走完所需要的时间.time=0;}}/***这个函数的算法很乱,但暂时能解决问题**@paramlist*/publicstaticv

9、oiddealEncounter(Ant[]antArray){intnum_ant=antArray.length;for(intj=0;j

10、7的方向走**注:在通过Ant的构造函数设置初始值时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。