经常在各种论坛上看到大牛们认真写自己的面经,没经历过那马多面试,只能向他们学习了,算法都记录下面,只是想了想,这几天实验室太忙,有时间一定要亲自实现出来!
【hulu面试】http://bbs.byr.cn/#!article/ParttimeJob/314786
1、给出一个整数序列,判断他是否是二叉排序数的后续遍历。(不要利用额外空间,考虑O(nlgn)和O(n)的时间复杂度)
2、给出因子为至少3,5,7其中之一的第k大的数。
3、给定一个n*n的二维数组,行是递增的,列是递增的,且整数都不重复,然后给一个数判断这个数是不是在二维数组中。
4、两个人A,B仍硬币,A扔n次,B扔n+1次,A x次正面朝上,B y次正面朝上,问x>y的概率是多少。
5、给100个白球,100个黑球混在一起,每次取两个,如果取出的颜色相同,就放回一个黑球,如果取出的颜色不同就放回一个白球,求最后剩黑球的概率。
6、给一个整数数组,求出这个数组的一个连续子序列,要求这个子序列各元素和取绝对值最小。
7、两个有序的数组,如何找出两个数组合并后的第K大的数。(考虑O(lgk)的时间复杂度)
8、一个人知道未来n天的每天股票的价格,请你给出一个算法,使得这个人从哪天买入,哪天卖出能获得最大的收益。(考虑O(nlgn)的时间复杂度)
【大众点评笔试】
1、凌晨 0:00 到早上 6:00,秒针和分针相遇多少次,分别是在哪些时间点?
2、找一个单向链表的倒数第 n 个结点,函数原型:node fun(node *head, int n)
3、一个 N*N 的矩阵,每一行从左到右有序,每一列从上到下有序,都是递增,写个程序,判断一个数是否在矩阵中。
【百度面试】
1、用两个队列实现一个栈
2、四个骰子,都没有写数字,请你设计一个数字的写法,使得这四个骰子可以表示出一年365天的任一天。(这道题想了下,应该后转换成六进制就可以了)
未完待续。。。