百度笔试题三

1.char a=255; sizeof(++a)=?(1) a=?(-1)

 

2.删除掉cpp文件中的所有注释

 

3.用脚本(bash)统计两个文本文件的相同的行,??

第一文件有而第二文件无的行??,

两个文件的补集。 cat file1 file2 | sort | uniq > 1.txt

 

4.设计一个简化的bbs系统:多用户,可发表主题,回复,同主题阅读,分不同的版面,为每一用户判断某一文章是否已读,等。

 

5. 面试:

1.判断一个链表是否存在回路? 给指针加一个标志域,如访问过则置1.当遍历到标志为1的项说明有了回路。 定义2个指针,一快(fast)一慢(slow),即:从头向后遍历过程中,每循环一次,快指针一次向后移动2个元素,慢指针移动一个元素,每次判断( fast==slow || slow==fast->nest ),如果成立,说明慢指针赶上了快指针,则为循环链表,否则,如果有一个指针到达NULL,则为单链表。 重新做一个链表,用于存放所有原链表中的节点,插入节点时按按地址顺序插入, 如果出现相同的地址就说明是死链,结束查询....

 

2.两个单向链表,有可能交叉,请设计算法判断是否交叉,如果交叉,返回交叉点!算法复杂度o(n) 两个链表最后是合并成一个 而不是交叉 所以:(1)先找到p1,p2的最后一个节点,同时记录节点数量a,b;(2)判断最后一个节点是否相同, 如果不相同则没相交。如果相同 则从第一个节点和|a-b|+1个节点开始比较 看是否相等 不相等都寻找下一个节点直到找到交叉点

 

3.硬盘文件系统设计,及磁盘整理算法

 

4.Hash表

 

5.php+MySQL

 

 6.问参加过ACM/数学建模没有

 

7.多边形标记问题:判断点是否在多边形内的问题?我知道有两种方法:

1。累计角度法 过此点连接多边形的每一顶点,各相邻边角度之和为360度,则此点在多边形内。 否则为0度,在多边形外部。

 2。射线法 过此点向任意角度发一条射线,若与多边形的各条边交点个数之和为偶数,则此点在 多边形之外,否则在多边形之内。 若有交点为多边形顶点则要另选一条射线重算。 请问哪种方法好一点(时间复杂度)? 方法一对凹多边形可能会出现问题吧。

 

 8.多线程 同步互斥的概念 同步:只有a做完才能做b。

互斥:a和b只是在一个时间做一个。

可用p,v操作来实现。

 相交进程之间的关系主要有两种,同步与互斥。

所谓互斥,是指散步在不同进程之间的若干程序片断,当某个进程运行其中一个程序片段时,其它进程就不能运行它们之中的任一程序片段,只能等到该进程运行完这个程序片段后才可以运行。

所谓同步,是指散步在不同进程之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特定的任务。 显然,同步是一种更为复杂的互斥,而互斥是一种特殊的同步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值