百度2011年招聘技术类岗位笔试题

来源:互联网 发布:iphone移动数据快捷键 编辑:程序博客网 时间:2024/04/28 00:30

第一大题
1.定义栈的数据结构,添加一个min函数,找到栈的最小元素。要求函数min、push、pop的时间复杂度为O(1),请简要描述思路。
2.是一个读程序写结果,并判断函数功能。同时要指出程序的隐患  程序太长了,记不住了。
3.分析线性表、二叉平衡树和哈希表存储数据时各自的优劣。
第二大题
1.一串首尾相连的珠子,共m颗。每个珠子有自己的颜色,全部颜色共有n种 (n小于等于10),从中截取一段,要求包含所有不同的颜色,长度越短越好,如何截取。详述算法思路,并分析时间和空间复杂度。
2.设计strnumcmp函数,比较字符串的大小。功能为 a.当字符串中有数字时,以数字大小为准 b.对于只有其中一个字符串有数字的情况,仍然沿用strcmp方式。
第三大题
处理一个词搭配的词典,条件为
1) 字典中存在的项是两个词的搭配,例如:字典中有“今天”和“晚上”两个词,那它们组成的搭配为“今天|晚上”和“晚上|今天”
2)词的集合很大,约为10万量级
3)一个词并不会和其它所有词搭配,通常只会和不超过1万个词搭配
4)对字典的使用读操作很多,通常为上千次请求,几乎没有写入操作。
请设计一个字典服务系统,当请求为两个词的搭配时,能快速返回搭配的相关信息,使用尽可能少的资源,并计算出需要使用的机器资源。

原创粉丝点击