还剩2页未读,继续阅读
文本内容:
面试算法题编程含答案算、在不借助第三个变量的情况下,把两个的变量、的值互换,1int XY用任何自己熟悉的编程语言完成参考答案思路如下具体编程语言完成情况由面试官检X=X+Y;Y=X-Y;X=X-Y;考察点基本算法、语言基础查、文件杳找优化2背景:百度每天都有大量搜索,如果有一个大文本文件(保存各种词语),每次搜索都必须要检查直询词是否在这个大文件中,请问有什么方式能够提高直找效率要求先讲解所使用的算法,然后用自己最熟悉的编程语言,在分钟3内予以实现参考答案基本方法采用签名,提高匹配效率;建立多叉树hash保存文件数据,提高查找速度如有列举出更多签名算法或更好数据结构形式,可加分较优方法在上面基础上,将文本文件转化为的二进制文key-value件,提高文件操作和查找速度更优方法在上面基础上,开辟内存做,保存高频率查询词,提高整体查找cache效率如能完整给出的更新机制,加分;cache考察点基本数据结构;灵活采取算法处理实际问题的能力;快速编程能力;在给出一定提示情况下,检查学习能力和知识应用能力、有一份成绩单,只有两个字段姓名、成绩;数据量在百万级别4要求用最优的数据存储方式,能通过姓名快速直找出成绩分钟5参考答案:存储方式采用对姓名做hash考察点数据结构、找出单向链表的中间节点5参考答案link*midlink*headlink*pl,*p2;二pl p2=head;ifhead==NULL||head-next==NULLreturn head;do{pl=pl-next;p2=p2-next-next;}whilep2p2-next;return pl;考察点算法基础——链表、给定亿个位整数的顺序文件,请问如何可以找到一个至少出64332现两次的整数?考察算法相关()lOmin参考答案用二分查找发细节点亿大于的最大值,说明肯定有重复的数字43int、如何判断一个单链表是有环的(不能用标志位,最多只能用两个额7(外指针)分钟)考察点算法及数据结构参考答案可以只给出算法思路,一6种的办法就是两个指针,一个每次递增一步,一个每次递增两步,如果有on环的话两者必然重合,反之亦然struct node{char val;node*next;}无环;有环bool checkconstnode*head{}//return false:true:bool checkconstnode*headifhead==NULL return false;node*low=head,*fast=head-next;whilefast!=NULL fast-next!=NULLlow=low-next;fast=fast-next-next;iflow==fast returntrue;returnfalse;有一个一维数组,里面存储的是到的这个int a
[100]1100100数,不过是乱序存储;这时把其中某一位置的数值改成;请用最优的-1空间复杂性和时间复杂性求出该位置和值分钟6参考答案遍历一遍数组得到的位置并记录,同时把非的值相加得到被-1-1sum改变的值为50*100-1-sum时间复杂性,空间复杂性考察点程序设计、逻辑思维能力On01。