近期学到的一些关于IT面试的东西(不断整理扩充)

近期从各位同学处学习到的关于IT面试的一些题目总结:

1.师兄提示的
两个人相对游泳,游泳池长度固定,游泳者游到一端后则反向游,问在指定时间之后,他们相遇的地点有几处?
思路:抽象为几何的问题

------------------------------------------------------
以下几个题目是关于位操作的,在与寝室同学的交流中学习得到:
2.编程珠玑上关于把大量的存放于文件中的数字排序的问题,具体怎么样记不清楚了...
思路:分治法,考虑根据最高位是0/1来进行分治

3.0~m中只缺失了一个数,而每次只能访问到某个数字的一位,问如何找到缺失的数字?
思路:首先得到所有数字的最后一位,根据0/1的个数来判断缺失的数字位于的区间,进而判断得到的区间的倒数第二位,以此类推

4.对于一个整数,要求交换其32位表示中的1,2位,3,4位,..,保证时空效率高
思路:置一个32位数组的奇数位为1,偶数位为0;置一个32位数组的偶数位为1,奇数位为0;与要进行运算的整数相与,得到的结果分别左移、右移,然后或运算,即可得结果。

5.“华为杯”中最短路的问题,看似考的是dijstra算法,但由于数字特别大,需要考虑位运算的表示问题。
-------------------------------------------------------

6.小学数据题,3136用+ - * /和(),得到结果为8
答案:(3+1)/3*6

7.笔试/面试中遇到的问题

 

8.POJ1511,此题甚妙,考察了以下几点:

首先需要读懂题意;需要对于图的邻接表表示有很好的理解,能够合理地设计其存储结构;需要对于最短路径的求取有全面而清楚的认识,重点需要利用SPFA算法来解决本题中大数据量可能导致的超时问题;注意细节的问题,比如数据值很大,要用__int64.

思路:我参考了百度文库里对于SPFA算法的介绍和这里的文章来解决:http://blog.csdn.net/acmhoho/article/details/6596194

你可能感兴趣的:(面试,笔试)