2014------百度面试算法
来源:互联网 发布:黑猩猩智商知乎 编辑:程序博客网 时间:2024/06/11 09:59
1.使用C/C++编写函数,实现字符串反转,要求不使用任何系统函数,且时间复杂度最小,函数原型:char* reverse_str(char* str)。
2.给定一个如下格式的字符串(1,(2,3),(4,(5,6),7))括号内的元素可以是数字,也可以是另一个括号,请实现一个算法消除嵌套的括号,比如把上面的表达式变成:(1,2,3,4,5,6,7),如果表达式有误请报错。
3.分别实现二叉查找数root中两个节点的最近相连的双亲节点:递归,非递归函数。
4.给出任意一个正整数,算出大于它的最小不重复数(即不存在相邻两个数相同的情况)
参考答案:
整型数组处理算法(九)给定任意一个正整数,求比这个数大且最小的“不重复数”(性能优化)[2014百度笔试题]
5.给出一个长度为N的字符串,求里面最长的回文子串长度。
6.一幢大楼的底层有1001根电线,这些电线一直延伸到大楼楼顶,你需要确定底层的1001个线头和楼顶的1001次线头的对应关系。你有一个电池,一个灯泡,和许多很短的电线,你需要上下楼几次才能确定电线接头的对应关系.
解答:
注明:这里每次上下楼都带着电池和灯泡,以及每次接口连接,对应接口的之前连接过的线都将拆除,所以下面不再说明。
首先将底层一对接口(这里假设为(buttom1,buttom2))连接起来,然后上楼,根据提供的电池和灯泡的亮灭,确定顶层的一对(这里假设为(top1,top2)),接着将顶层的另一对连接起来(假设为(top3,top4)),然后下底层,确定和(top3,top4)对应的一对(假设为(buttom3,buttom4)),然后将底层的 buttom1和buttom3连接,底层的buttom2和buttom4连接,上楼,分别将确定过的两对交换对接,即依次测试(top1,top4),(top2,top3)或者(top1,top3),(top2,top4),直接灯泡亮为止即可确定这四个接口的对接关系。这样第一次确定4个接口需要上下楼3次。
然后根据第一次确定的4个接口,在顶层分别和剩余的接口中的其中四个接口连接,下到底层,和第一次确定四个接口一样,即可确定8个接口。这时确定8根只需要在上面的基础上加1次就可以。接下来就可以确定16个接口,并以此指数增加,从而到2的10次方,即1024,即可全部确定1001个接口,而从2的3次方到2的10次方,共8次.
最后得出第一次确定的3次加上接下来的8次,共需11次即可确定他们的对应关系。
- 2014------百度面试算法
- 百度面试算法题
- java百度面试查找算法
- Top K算法详细解析---百度面试
- Top K算法详细解析---百度面试
- Top K算法详细解析---百度面试
- Top K算法详细解析--- 百度面试
- 百度20140925面试算法题一道
- 百度2015校园招聘 面试算法题
- 百度面试(进程调度、调度算法)
- 2017百度面试现场coding算法一
- 2017百度面试现场coding算法二
- 2017百度面试现场coding算法三
- 【2014校招】百度面试
- 2014百度实习面试整理
- 百度面试
- 百度面试
- 百度面试
- JS正则表达式大全
- 家纺行业应洗去“浮躁” 脚踏实地
- 【转】python入门教程
- linux vi使用小结
- Linux 的进程组、会话、守护进程
- 2014------百度面试算法
- jboss安装、环境变量配置、部署
- comments of word2vec code
- XSLT
- kernel networking两个重要结构体
- Upload_File 上传的用法和判断上传类型的说明
- 左侧数据移到右侧 select 实现法
- 2014 --人人网笔试算法汇总
- 2013.9.10兰亭集势 (技术笔试题) 部分题总结